filter:可以用来转换HTTP请求、响应和头信息。如进行编码转换、检测用户是否登陆的过滤器、记录用户的访问、防止用户访问一些未被授权的资源(jsp文件)
public class LoginFilter implements Filter {
public void destroy() {
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// TODO Auto-generated method stub
HttpServletRequest res=(HttpServletRequest) request;
HttpServletResponse resp=(HttpServletResponse)response;
if(!isPermitUrl(request)){
if(filterCurrUrl(request)){
System.out.println("--->请登录");
resp.sendRedirect(res.getContextPath()+gotoUrl);
return;
}
}
chain.doFilter(request, response);
}
public void init(FilterConfig filterConfig) throws ServletException {
// 读取web.xml的配置
String permitUrls = filterConfig.getInitParameter("permitUrls");
String gotoUrl = filterConfig.getInitParameter("gotoUrl");
}
}
web.xml对于filter的配置
<filter>
<filter-name>Filtername</filter-name>
<filter-class>Filterclass</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Filtername</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>