SpringMVC请求过程

时间:2022-07-22
本文章向大家介绍SpringMVC请求过程,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

springMVC框架原理

  1. 发起请求到前端控制器,
  2. 前端控制器请求handlerMapping查找Handler,xml配值,注解,
  3. 处理器映射器handlermapping返回handler
  4. 前端控制器请求处理器适配器执行handler,
  5. 执行handler
  6. 返回ModelAndView给适配器
  7. 适配器返回前端控制器,
  8. 请求视图解析器进行视图解析,
  9. 返回前端控制器view
  10. 前端控制器进行渲染,
  11. 前端控制器响应。

SpringMVC各组件配置

  1. 在web.xml配置前端控制器
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<!-- 让servlet随服务启动 -->
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

/代表的拦截所有,可以springmvc.xml中配值,静态资源地址,避免其拦截静态资源。

同时在web.xml中配值springmvc.xml配置文件的地址

<servlet>
<init-param>
<param-name>contextConfigLocation</param-name>
        <param-value>WEB-INF/springmvc.xml</param-value>
</init-param>
</servlet>
  1. 配置控制器
@Controller
public class IndexController{
    @RequestMapping("/")
    public String IndexPage(){
        return "index";
    }
}

springmvc的配值文件中解析前缀和后缀,会把视图名还原为实际的jsp地址

  1. SpringMVC配值
<!-- 配置适配器 -->
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean>
<!-- 处理器映射器  -->
<!-- 根据bean的 name 查找Handler , 将action的URL 配置在bean的name中-->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>
 
<!-- 配置处理器 -->
<bean name="/hello.action" class="com.mt.controller.Hello"></bean>
<!-- 配置视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"></bean>

同时可以将请求定义在类基本上,这样就可以将RequestMapping进行拆分