本文并无高深含量 只为数据备份 谢谢
web.xml
过滤器
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<filter>
<filter-name>filterJ</filter-name>
<filter-class>com.test.FilterCharSet</filter-class>
<init-param>
<description>text/html</description>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>filterJ</filter-name>
<url-pattern>*.txt</url-pattern>
</filter-mapping>
</web-app>
过滤器
private String encode = null;
@Override
public void doFilter(ServletRequest srequest, ServletResponse sresponse,
FilterChain chain) throws IOException, ServletException {
if (null != encode) {
HttpServletRequest request = (HttpServletRequest)srequest;
HttpServletResponse response = (HttpServletResponse)sresponse;
// 对请求进行编码设置
request.setCharacterEncoding(encode); //把请求用指定的方法编码
response.setContentType("text/html");
response.setCharacterEncoding(encode); //把返回响应指定 编码方式
System.out.println("------------过滤编码-------------" + encode);
}
// 把处理权限交给下一个过滤器
chain.doFilter(srequest, sresponse);
}
@Override
public void init(FilterConfig config) throws ServletException {
//获取在web.xml文件中配置了的编码格式的信息
this.encode = config.getInitParameter("encoding");
}