springmvc是如何工作的

   

  • 上图便是springmvc的工作流程,看着条条框框的,其实说的直白一点,springmvc就是负责处理用户的需求(request/url),它的负责人(核心组件)就是前端控制器(DispatcherServlet),前端控制器主要负责各模块之间有序的调度。
  • 整个过程就是:前端控制器说映射器(HandlerMapping) 你看看客户需求,我限你3秒之类给我一个方案(可执行的Handler链),然后将这个方案拿给处理器适配器(HandlerAdapter) ,说你给我好好跟厂商(后端业务等)联系并按照我的要求去处理给我一个结果(ModelAndView)就行;然后适配器跟后端控制器(Handler/Controller) 对接,将厂商生产好的货物(业务返回的字符串之类的结果集)交给负责人;负责人拿到之后说这什么乱七八糟的,那谁(视图解析器)你给我处理成人能看的再给我,视图解析器解析成view(相应的页面)交给负责人,然后进行数据渲染,最后给客户一个满意的答案(响应客户Response)。
  • 以上过程就是springmvc处理客户端请求的整个过程。
  • 前端控制器我们我们将其配置在web.xml中,如果项目是使用springboot一般只要加入web模块就可以了
    •   
       1 <!-- 配置前段控制器拦截所有请求 -->
       2     <servlet>
       3         <servlet-name>dispatcherServlet</servlet-name>
       4         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
       5           <init-param>
       6             <param-name>contextConfigLocation</param-name>
      <!-- springmvc的配置文件的位置--> 7 <param-value>classpath:springmvc.xml</param-value> 8 </init-param> 9 <load-on-startup>1</load-on-startup> 10 </servlet> 11 <servlet-mapping> 12 <servlet-name>dispatcherServlet</servlet-name> 13 <url-pattern>/</url-pattern> 14 </servlet-mapping>

猜你喜欢

转载自www.cnblogs.com/yibazhang/p/9760740.html