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.....)文件,中文乱码,添加并 ...
随机推荐
- Java 生产者消费者 & 例题
Queue http://m635674608.iteye.com/blog/1739860 http://www.iteye.com/problems/84758 http://blog.csdn. ...
- 【推导】【贪心】XVII Open Cup named after E.V. Pankratiev Stage 14, Grand Prix of Tatarstan, Sunday, April 2, 2017 Problem D. Clones and Treasures
给你一行房间,有的是隐身药水,有的是守卫,有的是金币. 你可以任选起点,向右走,每经过一个药水或金币就拿走,每经过一个守卫必须消耗1个药水,问你最多得几个金币. 药水看成左括号,守卫看成右括号, 就从 ...
- 【计算几何】【预处理】【枚举】Urozero Autumn Training Camp 2016 Day 5: NWERC-2016 Problem K. Kiwi Trees
发现由于角的度数和边的长度有限制,那俩圆如果放得下的话,必然是塞在两个角里. 于是预处理n个圆心的位置(注意要判断那个圆会不会和其他的边界相交),然后n^2枚举俩角即可. #include<cs ...
- 【数论】nefu119 组合素数
算组合数中的素因子p的个数,基本同这题 http://www.cnblogs.com/autsky-jadek/p/6592194.html #include<cstdio> using ...
- 【左偏树+延迟标记+拓扑排序】BZOJ4003-城池攻占
[题目大意] 有n个城市构成一棵树,除1号城市外每个城市均有防御值h和战斗变化参量a和v. 现在有m个骑士各自来刷副本,每个其实有一个战斗力s和起始位置c.如果一个骑士的战斗力s大于当前城市的防御值h ...
- MySort
实验概述: 本次试验的内容:模拟实现Linux下Sort -t : -k 2的功能.参考Sort的实现.提交码云链接和代码运行截图. 截图如下 实验过程 在实验课上真的很崩溃,可以说脑子里一团乱麻,下 ...
- 原生js实现Ajax请求
总的来说,Ajax是与服务器交换数据并更新部分网页的艺术,在不重新加载整个网页的情况下,异步请求数据并刷新页面.举一个小的例子:Goole搜索页面.当用户在输入框输入关键字的时候,JavaScript ...
- “Warning: Call-time pass-by-reference has been deprecated in”解决方法
刚刚在调试一个PHP木马,显示错误信息为: Warning: Call-time pass-by-reference has been deprecated in E:\New-Hack520org\ ...
- Elasticsearch 5.5.1的安装和入门教程(转)
说明:转自老阮的文章,业界最简单的入门教程.一切的安装的运行建议不要用root权限,最好是当前用户下的权限. 作者: 阮一峰 日期: 2017年8月17日 全文搜索属于最常见的需求,开源的 Elast ...
- Smart config风险分析与对策
Smart config风险分析与对策 1.简介: Smart config是一种将未联网设备快速连接wifi的技术,大概原理如下图所示: 2.业务需求: 要求实现 ...