servlet 简单filter避免中文乱码等
Filter是个servlet中的接口,servlet内部实现了利用Filter来过滤请求。
可以在filter中根据条件决定是否调用chain.doFilter(request,response);即是否让目标资源执行。
可以在让目标资源执行前,对request和response作预处理,在让目标资源执行。
可以在目标资源执行之后,捕获目标资源的执行结果,从而实现一些特殊的功能。
使用前需要在xml中配置好filter,和<servlet>配置类似。struts中的web.xml配置文件有filter例子。
<filter>
<filter-name>FilterDemo</filter-name>
<filter-class>com.test.FilterDemo</filter-class>
</filter>
<filter-mapping>
<filter-name>FilterDemo</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
如果几个拦截器对同一个url-pattern进行拦截,那么谁出现在配置文件的最上面谁先执行。另外这种情况,会使FilterChain中有多个filter。
设置编码格式的filter的doFilter方法中的代码:
request.setCharacterEncoding(“UTF-8”);
response.setCharacterEncoding(“UTF-8”);
request.setContentType(“text/html;charset=UTF-8”);
chain.doFilter(request,response);//如果chain中没有其他filter,那么让目标资源执行。否则就执行下一个filter,相当于一个关卡将请求放行。如果本行之后还有代码,会在资源或者其他filter执行完之后再跳回来接着执行
filter的生命周期是在服务器启动的时候创建,只创建一个,服务器正常关掉的时候销毁。
filter的init方法中的参数FilterConfig filterConfig来自于配置文件中的:
<filter>
<filter-name>FilterDemo</filter-name>
<filter-class>com.test.FilterDemo</filter-class>
<init-param>
<param-name>xxx</param-name>
<param-value>yyy</param-value>
</init-param>
</filter>
可以用filterConfig.getInitParameter("xxx");的格式来获取。
servlet 简单filter避免中文乱码等的更多相关文章
- selvert的过滤器filter处理中文乱码
注意问题:在学习用selvert的过滤器filter处理中文乱码时,在filter配置初始化时用了utf-8处理中文乱码,而在提交的jsp页面中却用了gbk.虽然两种都可以出来中文乱码,但是却造成了处 ...
- Web---演示servlet技术(servlet生命周期),解决中文乱码问题
本节讲解决中文乱码问题的4种方法. 还有更好的方法,也就是用过滤器,这里就不演示了,博主目前也不会~呼♪(^∇^*)~过段时间才会学. servlet生命周期演示: index.jsp: <%@ ...
- struts2 使用filter解决中文乱码问题
1.编写fliter的代码 import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChai ...
- Filter解决中文乱码问题
1,FIlter中编码设置 编码设置一定要在跳转页面之前 public void doFilter(ServletRequest request, ServletResponse response, ...
- servlet中获取request中文乱码问题分析
request.setCharacterEncoding("utf-8");//第一种情况 log.info("服务商名称:" + request.getPar ...
- java中Filter过滤器处理中文乱码的方法
注意问题:在学习用selvert的过滤器filter处理中文乱码时,在filter配置初始化时用了utf-8处理中文乱码,而在提交的jsp页面中却用了gbk.虽然两种都可以出来中文乱码,但是却造成了处 ...
- struts2 中文乱码问题,自定义过滤器通用解决方法
问题描述 在JSP中使用form表单向后台action中传递中文参数,后台action接收到参数出现中文乱码.JSP页面统一采用了utf-8编码格式.由于struts2默认采用的编码为utf-8,根据 ...
- servlet获取request数据的乱码解决
例如请求中有: /score?type=Mana&name=${user.name} ***************************************************** ...
- Java 中文 乱码问题
Java平台遇到的两类问题: 1.源代码中文乱码问题: a.Java文件,中文乱码,配置IDE的Preference的编码格式,总有一款适合你. b.HTML(JSP.....)文件,中文乱码,添加并 ...
随机推荐
- Sd - JavaBase问题
1. Java有哪些基本数据类型 2. Java基本数据类型和引用类型的区别 3. Java的多态 4. Override和Overload的区别 5. Java内部类 6. 继承和组合的比较 7. ...
- [NOI2015]小园丁与老司机(DP+上下界最小流)
由于每行点的个数不超过1000,所以行内DP可以使用$O(n^2)$算法. 先找到每个点所能直接到达的所有点(x,y,x+y或x-y相同),用排序实现. 第一问:以行为阶段,对于每行,暴力枚举最有路径 ...
- 【最大流Dinic模板】HDU1532&POJ1273-Drainage Ditches(16/3/6更正)
#include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #inc ...
- bzoj 2468: [中山市选2010]三核苷酸
2468: [中山市选2010]三核苷酸 Description 三核苷酸是组成DNA序列的基本片段.具体来说,核苷酸一共有4种,分别用’A’,’G’,’C’,’T’来表示.而三核苷酸就是由3个核苷酸 ...
- ubuntu16 安装docker
本文开发环境为Ubuntu 16.04 LTS 64位系统,通过apt的docker官方源安装最新的Docker CE(Community Edition),即Docker社区版,是开发人员和小型团队 ...
- JAVA使用POI如何导出百万级别数据(转载)
用过POI的人都知道,在POI以前的版本中并不支持大数据量的处理,如果数据量过多还会常报OOM错误,这时候调整JVM的配置参数也不是一个好对策(注:jdk在32位系统中支持的内存不能超过2个G,而在6 ...
- 消除Xcode 5中JosnKit类库的bit masking for introspection of objective-c 警告
Xcode 5中苹果对多个系统框架及相关类库进行了改进.之前建立的项目在Xcode 5中重新编译会产生一些新问题. JosnKit是常用的轻量级Josn解析类,在Xcode 5中: BOOL work ...
- Inno Setup入门(十八)——Inno Setup类参考(4)
http://379910987.blog.163.com/blog/static/3352379720112122533866/ 编辑框 编辑框也叫文本框,是典型的窗口可视化组件,既可以用来输入文本 ...
- openssh相关
openssh相关 DSA RSA,非对称加密,产生公钥.私钥,前者存放在remote,后者存放在local,ssh-keygen产生公钥私钥时,提示输入私钥密码,防止私钥泄露被盗 ssh ...
- Android 通过URL scheme 实现点击浏览器中的URL链接,启动特定的App,并调转页面传递参数
点击浏览器中的URL链接,启动特定的App. 首先做成HTML的页面,页面内容格式如下: <a href="[scheme]://[host]/[path]?[query]" ...