notefilter.java
来自「J2EE独立开发制作」· Java 代码 · 共 45 行
JAVA
45 行
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class NoteFilter implements Filter {
private FilterConfig config = null;
private String blackList=null;
public void init(FilterConfig config) throws ServletException {
this.config = config;
blackList=config.getInitParameter("blacklist");
}
public void destroy() {
config = null;
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
String username =((HttpServletRequest) request).getParameter("username");
if (username!=null )username=new String(username.getBytes("ISO-8859-1"),"GB2312");
if (username!=null && username.indexOf(blackList) != -1 ) {
response.setContentType("text/html;charset=GB2312");
PrintWriter out = response.getWriter();
out.println("<html><head></head><body>");
out.println("<h1>对不起,"+username + ",你在黑名单中,没有权限留言 </h1>");
out.println("</body></html>");
out.flush();
return;
}
long before = System.currentTimeMillis();
config.getServletContext().log("NoteFilter:before call chain.doFilter()");
chain.doFilter(request, response);
config.getServletContext().log("NoteFilter:after call chain.doFilter()");
long after = System.currentTimeMillis();
String name = "";
if (request instanceof HttpServletRequest) {
name = ((HttpServletRequest)request).getRequestURI();
}
config.getServletContext().log("NoteFilter:"+name + ": " + (after - before) + "ms");
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?