package com.svse.filter;
import java.io.IOException;
import java.io.PrintWriter;
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.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class DemoFilter implements Filter {
private String str = null;
public void init(FilterConfig config) throws ServletException {
this.str = config.getInitParameter("xmlname");
// xmlname来自配制文件中的init-param节点中的。。。。
}
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain dochina) throws IOException, ServletException {
// 第一步,强制转换
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
request.setCharacterEncoding("gbk");//
// response.setContentType("text/html;charset=gbk");
//在使用过滤器时,如果要处理字符编码的问题,那么一定要求
//提交的页面中的提交方式是post
String name = request.getParameter("textname");
System.out.println("name=" + name);
String[] s = str.split(",");
boolean f = false;
for (int i = 0; i < s.length; i++) {
if (name.equals(s[i])) {
f = true;
}
}// end for
if (f) {
request.getRequestDispatcher("error.jsp").forward(req, res);
} else {
// request.getRequestDispatcher("show.jsp").forward(req, res);
dochina.doFilter(req, res);
}
}
// 要建一个过滤器,一定要实现Filter接口,但不一定要继承HttpServlet
public void destroy() {
// TODO Auto-generated method stub
}
}