📄 firstfilter.java
字号:
package org.it315.filters;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import java.util.Enumeration;
import javax.servlet.http.HttpServletRequest;
import java.io.PrintWriter;
public class FirstFilter implements Filter
{
private FilterConfig filterConfig = null;
String paramValue = null;
public void init(FilterConfig filterConfig) throws ServletException
{
this.filterConfig = filterConfig;
paramValue = filterConfig.getInitParameter("encoding");
}
public void doFilter(ServletRequest request,
ServletResponse response,FilterChain chain)
throws IOException, ServletException
{
/*下面这段代码在命令行窗口中打印出所有的请求头信息,
以便确认Filter是否起作用和帮助分析问题*/
System.out.println("begin headers---------------");
Enumeration headerNames =
((HttpServletRequest)request).getHeaderNames();
while(headerNames.hasMoreElements())
{
String headerName = (String)headerNames.nextElement();
System.out.println(headerName + " : " +
((HttpServletRequest)request).getHeader(headerName));
}
System.out.println("---------------end headers");
//在调用目标Servlet前写入响应内容
response.setContentType("text/html;charset=gb2312");
PrintWriter out = response.getWriter();
out.println("您的IP地址为:" + request.getRemoteHost() + "<br>");
chain.doFilter(request, response);
//在目标Servlet返回后写入响应内容
out.println("<br>名称为encoding的初始化参数的值为:" + paramValue);
out.println("<br>当前WEB程序的真实路径为:" +
filterConfig.getServletContext().getRealPath("/"));
}
public void destroy()
{
this.filterConfig = null;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -