一.配置web.xml文件,形势如下:
<filter>
<filter-name>filter</filter-name>
<filter-class>com.filter</filter-class>
</filter>
<filter-mapping>
<filter-name>filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
注意:1.filter与filter-mapping节点下的filter-name一定要一致。
2.filter-class节点指的是过滤器的path
3.url-pattern节点用来指定要过滤的页面,“\*”表示过滤所有页面。
二.编写实现了自java.servlet.Filter接口的过滤器,简单示例如下:
import java.io.IOException;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
public class SetCharacterEncodingFilter implements Filter
{
public void destroy() {
// TODO Auto-generated method stub
}
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
arg0.setCharacterEncoding("GBK");
arg2.doFilter(arg0, arg1);
}
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
三.过滤器完成了
这样你的jsp项目就可以避免中文乱码了(由于项目本身设置不同,也许会用部分页面无法解决乱码,那么请尝试使用Sting的getBytes()方法来解决)。
其实过滤器的作用还有很多这里只是简单的实现了过滤编码格式的问题,我们还可以用他控制页面的访问,等等……
这是以前做项目遇到的一个问题,现在拿出来给大家分享一下。 |
|