zoukankan      html  css  js  c++  java
  • SpringMVC和Struts2

    SpringMVC原理:

    1.发起前端请求到前端控制器(DispatcherServlet),前端请求,请求HandlerMapping查找Handler,可以通过xml配置/注解进行查找。

    2.处理器映射器HandlerMapping向前端控制器(DispatcherServlet)返回Handler。

    3.前端控制器(DispatcherServlet)调用处理器适配器(HandlerAdapter)去执行Handler.

    4.Handler执行完成返回ModelAndView, 处理器适配器(HandlerAdapter)前端控制器(DispatcherServlet)返回ModelAndView.

    5. 前端控制器(DispatcherServlet)请求视图解析器(View resolver)进行视图解析,根据逻辑视图名解析成真正的视图(Jsp)

    6. 视图解析器(View resolver)前端控制器(DispatcherServlet)返回View

    7. 前端控制器(DispatcherServlet)进行视图渲染,视图渲染将模型数据(ModelAndView对象)填充到request域

    8.前端控制器(DispatcherServlet)向用户响应结果

    Struts2原理:

    1. 发起一个http请求,会首先进入ActionContextCleanup(清空值栈等,但会留下自己的,比如session,Attribute等)

    2. 进入过滤器filter,进入FilterDispatcher

    3.进入ActionMapper,来判断此请求是否需要struts2处理,如果需要,那么由ActionProxy来接管,通过配置管理我们可以找到我们的struts.xml,然后进入真正做事的Action  Invocation

    4.依次穿过拦截器,进入action,从而根据返回的result选择我们要的页面,在拦截器的前半部分去值栈中取值通过标签展示在页面上,最后生成response返回。

     

  • 相关阅读:
    Vue.2.0.5-混合
    Vue.2.0.5-自定义指令
    Vue.2.0.5-过渡状态
    Vue.2.0.5-深入响应式原理
    spring mvc + mybatis + spring aop声明式事务管理没有作用
    Spring注解@Component、@Repository、@Service、@Controller区别
    继承之后的使用注意事项_ArrayStoreException
    java 中打印调用栈
    禁止 favicon.ico 请求
    mysq时间戳最小值
  • 原文地址:https://www.cnblogs.com/wangmei/p/5766775.html
Copyright © 2011-2022 走看看