① 在JSP页面提交表单,以post方式提交,写了过滤器处理中文乱码问题
可能造成的原因:
页面 后台业务 数据 中间有一个环节编码不一致。
是否对该字段做了编码转换。
针对1:
检查页面编码 是什么编码。如:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %>
过滤器设置的是什么编码。数据库采用什么编码。然后最好统一编码。
针对2:
看看是否做了强制转换,或者设置了request response的编码。
② 姘磋姱绋庢敹鍒嗙被缂栫爜鏄澶氬皯
姘磋姱绋庢敹鍒嗙被缂栫爜濡備笅锛
1銆佸噣姘村櫒鐢ㄨ繃婊よ姱銆佽繃婊ょ綉銆佺¢亾绛夛紝褰掍负杩囨护鍣ㄦ垨鍑鍖栧櫒闆朵欢锛岀◣鏀剁紪鐮佷负84212100銆
2銆佹按璐ㄦ祴璇曚华鍣ㄥ拰璁惧囩殑闆堕厤浠讹紝缂栫爜涓90279000銆
3銆佸噣姘村櫒鐢ㄦ车鍙婂叾闆朵欢锛岀紪鐮佷负84138100銆
4銆佸噣姘村櫒鐢ㄥ戞枡绠¢亾銆佺″瓙銆佽蒋绠$瓑锛岀紪鐮佷负39172300銆
5銆佸噣姘村櫒鐢ㄩ榾闂锛岀紪鐮佷负84818092銆
6銆佸噣姘村櫒鐢ㄩ噾灞炴《銆佸瑰櫒锛岀紪鐮佷负73100000銆
7銆佸噣姘村櫒鐢ㄨ仛鑻涔欑儻鐩掋佺憋紝缂栫爜涓39233000銆
8銆佸噣姘村櫒鐢ㄦ椿鎬х偔绛夊惛闄勫墏锛岀紪鐮佷负38021000銆
③ spring过滤器和拦截器的区别
(1)过滤器:
依赖于servlet容器,是JavaEE标准,是在请求进入容器之后,还未进入Servlet之前进行预处理,并且在请求结束返回给前端这之间进行后期处理。在实现上基于函数回调,可以对几乎所有请求进行过滤,但是缺点是一个过滤器实例只能在容器初始化时调用一次。使用过滤器的目的是用来做一些过滤操作,获取我们想要获取的数据,比如:在过滤器中修改字符编码;在过滤器中修改HttpServletRequest的一些参数,包括:过滤低俗文字、危险字符等
关于过滤器的一些用法可以参考我写过的这些文章:
继承HttpServletRequestWrapper以实现在Filter中修改HttpServletRequest的参数:
在SpringMVC中使用过滤器(Filter)过滤容易引发XSS的危险字符:
(2)拦截器:
拦截器不依赖与servlet容器,依赖于web框架,在SpringMVC中就是依赖于SpringMVC框架。在实现上基于Java的反射机制,属于面向切面编程(AOP)的一种运用。由于拦截器是基于web框架的调用,因此可以使用spring的依赖注入(DI)获取IOC容器中的各个bean,进行一些业务操作,同时一个拦截器实例在一个controller生命周期之内可以多次调用。但是缺点是只能对controller请求进行拦截,对其他的一些比如直接访问静态资源的请求则没办法进行拦截处理,拦截器功在对请求权限鉴定方面确实很有用处