?? 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 + -