《深入理解SpringMVC思想》

前言:

       SpringMVC是一种基于MVC架构的用于简化web应用程序开发的应用开发框架,它是spring的一个模块,与spring紧密结合,无需中间整合层来整合,它和struts2一样都是表现层框架。在web模型中,mvc是很流行的框架,通过将model、view、controller分离,减少开发,减少出错,方便组内开发人员之间的协同工作。

正文:

     一。SpringMVC应用的开发步骤

          1.在web.xml中定义前端控制器Dispatcherservlet

<servlet>
   <servlet-name>action</servlet-name>
   <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
   <init-param>
     <param-name>contextConfigLocation</param-name>
     <param-value>classpath:web/spring/spring.xml</param-value>
   </init-param>
   <load-on-startup>1</load-on-startup>
</servlet>

          Dispatcherservlet是SpringMVC的核心入口类,负责处理分发客户端发送的请求,使用视图来最终相应客户端的请求。struts1的核心入口类是ActionServlet,struts2的核心入口类是StrutsParperAndExecuteFilter。

          2.如果是POST请求,则需要开发表单提交的JSP页面,如果是GET请求,则可以跳过这一步。

          3.定义处理用户请求的Handle类,通过实现Controller接口或者使用@Controller注解

          4.当servlet拦截用户请求后,让servlet知道创建哪个Controller接口的实例有两种解决方案:

        (1)利用xml配置文件

<!--配置Handle,映射“/hello请求”>
<bean name="/hello" class="org.fkit.controller.HelloController"/>

       (2)Spring2.5之后,推荐使用注解来配置Handle

@Controller
public class DatumManagerController {}

        5.编写视图资源

        当Handler处理用户请求结束后,通常会返回一个ModelAndView对象,该对象中包含返回的视图名或视图名和模型,这个视图名就代表需要显示的物理视图资源。如果Handler需要把一些数据传给视图资源,就可以通过模型对象。

     二。SpringMVC执行的流程?

         说明:

                1.用户向服务器发送请求,请求被SpringMVC的核心入口类Dispatcherservlet截获

            2.Dispatcherservlet对请求的URL(统一资源定位符)进行解析,得到URI(资源标识符),根据该URI,调用HandlerMapping得到Handler的所有相关的对象,包括Handler对象以及该对象的拦截器,包装成HandlerExecutionChain对象统一返回给Dispatcherservlet

                3.Dispatcherservlet根据得到的Handler,选择一个合适的HandlerAdapter,处理实际的业务逻辑

                4.提取请求中的模型数据,开始执行Handler,在填充Handler的入参过程中,根据配置,spring会做一些额外的工作:

(1)消息转换    (2)数据转换  (3)数据格式化    (4)数据验证

               5.Hander执行完毕之后,会向Dispatcherservlet返回一个ModerlAndView对象,该对象应该包含视图名或视图名和模型。

                6.根据返回的ModelAndView,选择一个合适的ViewReslover(视图解析器)返回给Dispatcherservlet

                7.ViewReslover结合model和view渲染视图

                8.Dispatcherservlet将视图渲染结果返回给客户端。

结语:

        深入理解springMVC的执行流程后, 对于前后端交互的流程理解会更加深入.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值