1、当客户请求一个页面时,都事先要经过Filter处理。处理后,转到相应的页面
2、实现Filter需要,需要实现javax.servlet.Filter接口,还要在web.xml文件中进行配置,如:
Code
<filter>
<filter-name>CharsetEncodingFilter</filter-name>
<filter-class>net.nyist.drp.util.filter.CharsetEncodingFilter</filter-class>
<!-- 可以配置相应的参数,也可以不用配置 -->
<init-param>
<param-name>encording</param-name>
<param-value>GBK</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharsetEncodingFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CharsetEncodingFilter</filter-name>
<url-pattern>/sysmgr/*</url-pattern>
</filter-mapping>
3、实现javax.serlvet.Filter接口
2、实现Filter需要,需要实现javax.servlet.Filter接口,还要在web.xml文件中进行配置,如:
<filter>
<filter-name>CharsetEncodingFilter</filter-name>
<filter-class>net.nyist.drp.util.filter.CharsetEncodingFilter</filter-class>
<!-- 可以配置相应的参数,也可以不用配置 -->
<init-param>
<param-name>encording</param-name>
<param-value>GBK</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharsetEncodingFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CharsetEncodingFilter</filter-name>
<url-pattern>/sysmgr/*</url-pattern>
</filter-mapping>
package net.nyist.drp.util.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class CharsetEncodingFilter implements Filter {
private String encording;
public void destroy() {
System.out.println("filter-------destory");
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest servletRequest = (HttpServletRequest)request;
HttpServletResponse servletResponse = (HttpServletResponse)response;
servletRequest.setCharacterEncoding("GB18030");
//System.out.println("doFilter--------------begin");
chain.doFilter(servletRequest,servletResponse);
//System.out.println("doFilter--------------end");
}
public void init(FilterConfig filterConfig) throws ServletException {
System.out.println("filter------begin");
this.encording = filterConfig.getInitParameter("encording");
System.out.println("-----------------------------" + this.encording);
}
}
浙公网安备 33010602011771号