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。

猜你喜欢

转载自blog.csdn.net/qq_36147916/article/details/83817468