赞
踩
DispatcherServlet
):负责将用户发送的请求拦截下来,分发到各个控制器方法中;HandlerMapping
):根据请求的URL 与 @RequestMaping映射进行匹配,匹配成功后会返回具体的Handler(封装了具体的控制器方法);HandlerAdapator
):负责调用Handler中的具体方法、返回视图名地址,将其封装到ModelAndView中(封装视图名和request域的数据);ViewReslover
):根据ModelAndView中的视图名地址,去找到具体的jsp,然后封装到View对象中;View
):进行视图渲染(将jsp转换成html的内容),最终响应到客户端; <dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.3.1</version>
</dependency>
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> <!--注册配置DispatcherServlet【前端控制器】--> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!--关联springmvc的配置文件【初始化DispatcherServlet】--> <init-param> <!--初始化参数: (1)contextConfigLocation 配置springmvc的xml配置文件,需要指定路径 (2)也可以不配置,它会自动去WEB-INF中去找一个(【servlet-name】-servlet.xml)的文件--> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc.xml</param-value> </init-param> <!--设置优先级【当启动服务器时,就会加载IOC容器中所有的bean】--> <!--当web服务器启动时,就会创建一个servlet(会自动调用servlet的构造函数以及init()方法)--> <load-on-startup>1</load-on-startup> </servlet> <!--配置servlet的映射路径: (1)'/' 会匹配除 .jsp 之外的请求 (2)‘/*’ 会匹配所有的请求--> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <!--配置编码过滤器 CharacterEncodingFilter,解决中文乱码问题--> <filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <!--配置编码--> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <!--同时开启请求和响应的编码设置--> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <!--配置拦截哪些请求进行过滤--> <filter-mapping> <filter-name>characterEncodingFilter</filter-name> <!--指定需要拦截的url路径--> <url-pattern>/*</url-pattern> <!--拦截规则:指定过滤哪个servlet--> <servlet-name>springmvc</servlet-name> </filter-mapping> </web-app>
<?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:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd">
<!--开启组件扫描-->
<context:component-scan base-package="org.example"></context:component-scan>
</beans>
@Controller public class HelloController { //@RequestMapping 将方法映射给对应的url请求处理 @RequestMapping("/Hello") public String helloWorld(String name){ System.out.println("hello springmvc:"+ name); /* * 响应: * (1)redirect:重定向 * (2)默认值:转发 */ return "index.jsp"; } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。