SpringMVC总结
来源:互联网 发布:xbox软件 编辑:程序博客网 时间:2024/06/05 11:32
SpringMVC工作流程
执行流程图:
简述执行流程:
1.用户发送请求到前端控制器DispatcherServlet.
2.DispatcherServlet收到强求调用HandlerMapping处理器映射器.
3.处理器映射器找到对应的处理器,生成处理器对象和处理器拦截器(如果有则生成)一并返回给DispatcherServlet.
4.Dispatcher调用HandlerAdapter处理器适配器.
5.HandlerAdapter调用具体的处理器(Controller也叫后端控制器).
6.Controller执行完成返回ModelAndView.
7.HandlerAdapter将Controller执行结果ModelAndView返回给DispatcherServlet.
8.DispatcherServlet将ModelAndView传给ViewReslover视图解析器.
9.ViewReslover解析后返回具体的view.
10.DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中).
11.DispatcherServlet响应用户.
乱码问题的处理
post乱码问题的解决:
在web.xml配置文件中,添加过滤器
(springmvc中提供org.springframework.web.filter.CharacterEncodingFilter.class)
. <filter>. <filter-name>CharacterEncodingFilter</filter-name>. <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>. <init-param>. <param-name>encoding</param-name>. <param-value>utf-8</param-value>. </init-param>. </filter>. <filter-mapping>. <filter-name>CharacterEncodingFilter</filter-name>. <url-pattern>/*</url-pattern>. </filter-mapping>
以上可以解决post请求乱码问题。
get乱码问题的解决:
对于get请求中文参数出现乱码解决方法有两个:
1.修改tomcat配置文件server.xml,添加编码与工程编码一致
大致在第64行:
<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8081" protocol="HTTP/1.1" redirectPort="8443"/>
2.另外一种方法对参数进行重新编码:
String userName = new String(request.getParamter("userName").getBytes("ISO8859-1"),"utf-8")
ISO8859-1是tomcat默认编码,需要将tomcat编码后的内容按utf-8编码
SpringMVC与Struts2的主要区别
1.SpringMVC入口是一个servlet,即前端控制DispatcherServlet,而struts2的入口是一个filter过滤器.
2.SpringMVC是基于方法开发(一个url对应一个方法),传递参数是通过方法形参,可以设计为多例或单例(建议单例),struts2是基于类开发,传递参数通过类的属性,只能设计为多例.
3.struts2采用值栈存储请求和响应的数据,通过OGNL(Object-Graph Navigation Language的简称,对象图导航语言)存取数据,springMVC通过参数解析器对request对象内容解析成方法形参,将响应数据和页面封装到ModelAndView对象,最后又将模型数据通过request对象传输到页面.JSP解析器默认使用jstl.
简述SpringMVC的理解
(http://blog.csdn.net/pineapple0/article/details/40888153)
- springMVC总结
- springmvc总结
- SpringMVC总结
- springMvc总结
- springmvc总结
- SpringMVC总结
- Springmvc总结
- springmvc总结
- SpringMVC总结
- SpringMVC总结
- SpringMVC总结
- springmvc总结
- SpringMVC总结
- springmvc总结
- springMVC总结
- SpringMVC总结
- SpringMVC总结
- springmvc 总结
- 类与对象
- 【Unity3D】BGM
- ViewPager取消Fragment的预加载
- ASP.NET验证控件详解
- 基于java类库的DES加密算法实现
- SpringMVC总结
- Mathematica system
- 斐讯K2刷华硕固件
- 简单list转化为tree结构
- 关于cordova 那些神坑—cordova 设置沉浸式状态栏
- Unity 4.X BuildAssetBundle 策略
- bzoj 4561: [JLoi2016]圆的异或并 (计算几何+扫描线+splay)
- C# 第一次网络请求速度慢的原因
- java环境搭建一(JDK)