springMVC相关知识总结

springMVC框架:

是spring的一个模块,与spring无需进行整合,是基于mvc的web框架
mvc——模型视图控制器,是一种设计模式,走捷径
mvc在B/S系统下的应用——控制器(struts2中的filter,处理请求产生响应)
springMVC框架——前端控制器(DispacherServlet,处理请求产生响应)

springMVC实现流程

在这里插入图片描述
组件:
1.前端控制器DispatcherServlet,不需要程序开发,
作用——接受请求,响应结果,相当于转发器,中央处理器,减少其他组件之间的耦合度
2.处理器映射器HandlerMapping,不需要程序开发,
作用——根据请求的url查找Handler
3.处理器适配器HandlerAdapter,
作用——按照适配器特定规则执行·Handler
注意——编写Handler按照适配器的要求去做,这样适配器才可以正确执行Handler(Controller程序员自己编写)
4.视图解析器View resolver
作用:进行视图解析,根据逻辑视图名解析真正的视图(view)
5.视图View,是一个接口,实现类支持不同的view类型(jsp,freemaker,pdf,excel)

简单配置:

1.web.xml——spring配置文件(前端控制器【入口】),web监听器,解决乱码
<!--启动时监听器  -->
 <listener>
       <listener-class>org.springframework.web.context.ContextLoaderListener
       </listener-class>
 </listener>
 <!--服务器启动时创建spring容器  -->
 <context-param>
       <param-name>contextConfigLocation</param-name>
       <param-value>classpath:config/springMVC-servlet.xml</param-value>
 </context-param>
<!--springmvc前端控制器 -->
<servlet>
<servlet-name>springMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 默认在web-inf -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:config/springmvc-servlet.xml</param-value>
</init-param>
</servlet>
<!--contextConfigLocation配置springmvc加载的配置文件(配置处理器映射器,适配器等)
如果不配置contextConfigLocation,默认加载/WEB-INF/servlet名称-servlet.xml(springmvc-servlet.xml)
-->
2.在springmvc-Servlet.xml中配置注解驱动的控制器,自动扫描(controller,service,dao),
3.编写Handler,需要实现Controller接口

springMVC和struts的区别:

1)springmvc的入口是一个servlet,即前端控制器,例如:.action
struts2入口是一个filter过虑器,即前端过滤器,例如:/

2)springmvc是基于方法开发,传递参数是通过方法形参,可以设计为单例
struts2是基于类开发,传递参数是通过类的属性,只能设计为多例
3)springmvc通过参数解析器是将request对象内容进行解析成方法形参,
将响应数据和页面封装成ModelAndView对象,最后又将模型数据通过request对象传输到页面
struts采用值栈存储请求和响应的数据,通过OGNL存取数据,经过实际测试,struts2速度慢,在于使用struts标签,如果使用建议使用jstl。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值