SpringMvc处理请求流程

    1:首先客户端发送一个 http请求,web服务器接受这个请求,然后web容器交给 DispatcherSevlet处理。
      2: DispatcherSevlet将负责将请求分发。DispatcherSevlet可以认为是spring提供的前端控制器,所有的请求都要经过他来进行统一的分发。
    3:在DispatcherSevlet将请求分发给 spring controller之前,需要借助于spring提供的HandleMapping定位到具体的controller。( HandleMapping是这样的一种对象,他能够完成客户请求和controller之间的映射。structs中,这种映射是通过struts-config.xml文件完成的。spring为controller提供了若干实现,例如:BeanNameUrlHandlerMappin g有,SimpleUrlHandlerMapping,CommonsPathMapHandlerMap ping。)
        4: spring controller将处理来自DispatcherSevlet的请求。spring的controller类似于 structs的action。能 够接受HttpServletRequest和HttpServletResponse。spring为controller提供了若干实现类,由于controller要为 并发用户处理上述请求,因此实现controller接口时, 必须保证线程安全并且可重用。controller将处理用户请求,这和structs中的action是一致的。
        5:一旦controller处理完用户请求,则返回 ModelAndView对象给DispatcherSevlet前端控制。ModelAndView包含了 模型(model)和视图(view)。从宏观角度来看,DispatcherSevlet是整个web应用的控制器。从微观来看,controller是单个http请求的控制器。而 ModelAndView是http请求过程中返回的模型和视图。
    6:ModelAndView中包含了 视图逻辑名与模型数据信息。DispatcherSevlet通过 ViewResolver完成逻辑视图名到真实视图对象的解析工作。
    7:当得到真实对象的view,DispatcherServlet就使用这个View对象对 ModelAndView中的模型数据进行视图渲染。然后将渲染后的结果返回给客户。

文章转载:http://blog.sina.com.cn/s/blog_e3734cfe0102xmsf.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值