springmvc框架

springmvc框架

1、1 什么是springmvc

      springmvc是spring框架的一个模块,springmvc和spring无需通过中间整合层进行整合。

      springmvc是一个基于mvc的web框架。

1、2  mvc在b/s系统 下的应用

       mvc是一个设计模式,mvc在b/s系统 下的应用

1、3    springmvc框架

       

第一步:发起请求到前端控制器(DispatcherServlet)

第二步:前端控制器请求HandlerMapping查找 Handler

         可以根据xml配置、注解进行查找

第三步:处理器映射器HandlerMapping向前端控制器返回Handler

第四步:前端控制器调用处理器适配器去执行Handler

第五步:处理器适配器去执行Handler

第六步:Handler执行完成给适配器返回ModelAndView

第七步:处理器适配器向前端控制器返回ModelAndView

         ModelAndView是springmvc框架的一个底层对象,包括 Model和view

第八步:前端控制器请求视图解析器去进行视图解析

         根据逻辑视图名解析成真正的视图(jsp)

第九步:视图解析器向前端控制器返回View

第十步:前端控制器进行视图渲染

         视图渲染将模型数据(在ModelAndView对象中)填充到request域

第十一步:前端控制器向用户响应结果

 

 

组件:

        1、前端控制器DispatcherServlet(不需要程序员开发)

                    作用接收请求,响应结果,相当于转发器,中央处理器。

                    有了DispatcherServlet减少了其它组件之间的耦合度。

        2、处理器映射器HandlerMapping(不需要程序员开发)

                     作用:根据请求的url查找Handler

        3、处理器适配器HandlerAdapter

                     作用:按照特定规则(HandlerAdapter要求的规则)去执行Handler

        4、处理器Handler(需要程序员开发)

                     注意:编写Handler时按照HandlerAdapter的要求去做,这样适配器才可以去正确执行Handler

        5、视图解析器View resolver(不需要程序员开发)

                    作用:进行视图解析,根据逻辑视图名解析成真正的视图(view)

       6、视图View(需要程序员开发jsp)

                    View是一个接口,实现类支持不同的View类型(jsp、freemarker、pdf...)

2、springmvc.xml

创建springmvc.xml文件,配置处理器映射器、适配器、视图解析器。

<!-- 可以扫描controllerservice...

   这里让扫描controller,指定controller的包

    -->

   <context:component-scan base-package="cn.itcast.ssm.controller"></context:component-scan>

   <!--注解映射器 -->

   <!-- <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/> -->

   <!--注解适配器 -->

   <!-- <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/> -->  

   <!-- 使用 mvc:annotation-driven代替上边注解映射器和注解适配器配置

   mvc:annotation-driven默认加载很多的参数绑定方法,

   比如json转换解析器就默认加载了,如果使用mvc:annotation-driven不用配置上边的RequestMappingHandlerMappingRequestMappingHandlerAdapter

   实际开发时使用mvc:annotation-driven

    -->

   <mvc:annotation-driven></mvc:annotation-driven>

   <!-- 视图解析器

   解析jsp解析,默认使用jstl标签,classpath下的得有jstl的包

    -->

   <bean

   class="org.springframework.web.servlet.view.InternalResourceViewResolver">

      <!-- 配置jsp路径的前缀 -->

      <property name="prefix" value="/WEB-INF/jsp/"/>

      <!-- 配置jsp路径的后缀 -->

      <property name="suffix" value=".jsp"/>

   </bean>

3、事务控制(applicationContext-transaction.xml)

         在applicationContext-transaction.xml中使用spring声明式事务控制方法。

4、springmvc和struts2的区别

 

         1、springmvc基于方法开发的,struts2基于类开发的。

                springmvc将url和controller方法映射。映射成功后springmvc生成一个Handler对象,对象中只包括了一个method。 方法执行结束,形参数据销毁。

                springmvc的controller开发类似service开发。

          2、springmvc可以进行单例开发,并且建议使用单例开发,struts2通过类的成员变量接收参数,无法使用单例,只能使用                    多例。

         3、经过实际测试,struts2速度慢,在于使用struts标签,如果使用struts建议使用jstl。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值