• SpringMVC组件解析



    一、SpringMVC执行流程

    在这里插入图片描述
    在这里插入图片描述

    二、SpringMVC注解解析

    在这里插入图片描述

    1.value

    注意:value通常可以省略。

     @RequestMapping(value = "/quick")
    
    • 1

    2.method

    @RequestMapping(value = "/quick",method = RequestMethod.GET)
    
    • 1

    3.params

     @RequestMapping(value = "/quick",method = RequestMethod.GET,params = {"userName"})
    
    • 1

    4.案例

    结合:Spring入门案例:详细代码
    只需要修改:
    UserControll:

    package com.study.controller;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    
    @Controller
    @RequestMapping("/user")
    public class UserController {
        @RequestMapping(value = "/quick",method = RequestMethod.GET,params = {"userName"})
        public String save(){
            System.out.println("UserController....");
            return "/jsp/success.jsp";
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    web.xml:

    <!DOCTYPE web-app PUBLIC
     "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
     "http://java.sun.com/dtd/web-app_2_3.dtd" >
    
    <web-app>
     <!-- 配置SpringMVC前端控制器-->
      <display-name>Archetype Created Web Application</display-name>
      <servlet>
        <servlet-name>DispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
          <param-name>contextConfigLocation</param-name>
          <param-value>classpath:spring-mvc.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>DispatcherServlet</servlet-name>
        <url-pattern>/</url-pattern>
      </servlet-mapping>
    </web-app>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    测试:
    报错:
    在这里插入图片描述
    解决办法:
    输入?userName=xxx
    在这里插入图片描述

    三、Controller组件扫描

    在这里插入图片描述

     <!--Controller的组件扫描-->
        <context:component-scan base-package="com.study.controller"></context:component-scan>
    
    • 1
    • 2

    四、视图解析器

    在这里插入图片描述
    spring-mvc.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:context="http://www.springframework.org/schema/context"
           xmlns:http="http://www.springframework.org/schema/c"
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
           http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd ">
        <!--Controller的组件扫描-->
        <context:component-scan base-package="com.study.controller"></context:component-scan>
        <!--配置内部资源视图解析器-->
        <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="prefix" value="/jsp/"></property>
            <property name="suffix" value=".jsp"></property>
        </bean>
    
    </beans>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    UserController

    package com.study.controller;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    
    @Controller
    @RequestMapping("/user")
    public class UserController {
        @RequestMapping(value = "/quick",method = RequestMethod.GET,params = {"userName"})
        public String save(){
            System.out.println("UserController....");
            return "success";
    
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    测试:
    在这里插入图片描述

    五、知识要点

    在这里插入图片描述

  • 相关阅读:
    LeetCode_二叉搜索树_简单_108.将有序数组转换为二叉搜索树
    Harmony Ble 蓝牙App (一)扫描
    Java项目:JSP药店药品商城管理系统
    有手就行5——jenkins项目构建类型(pipeline流水线项目构建推荐)
    Python基于PC版微信实现机器人
    【OpenCV 例程300篇】234. 特征提取之主成分分析(PCA)
    库中如何实现vector
    Qt | Qt For Android、Qt5.14.2安卓开发环境搭建详细步骤
    173:vue+openlayers:解决国内openstreetmap地图加载不出来的问题(代码示例)
    Jquery-todolist案例
  • 原文地址:https://blog.csdn.net/qq_43514330/article/details/125468422