首页 | 联系我们 | 叶凡网络官方QQ群:323842844
游客,欢迎您! 请登录 免费注册 忘记密码
您所在的位置:首页 > 开发语言 > Java开发 > 正文

Filter的用法

作者:cocomyyz 来源: 日期:2013-8-18 8:09:41 人气:1 加入收藏 评论:0 标签:java

对字符编码的‘过滤’

web.xml的配置:

==============================================

<filter>
<filter-name>charsetClass</filter-name>
<filter-class>CharsetFilter</filter-class>
<init-param>
  <param-name>enable</param-name>
  <param-value>true</param-value>
</init-param>
<init-param>
  <param-name>charset</param-name>
  <param-value>gb18030</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>charsetClass</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

=============================================

java类:

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;


public class CharsetFilter implements Filter{
private String charset;
private boolean enable = false;
public void destroy() {
 
}

public void doFilter(ServletRequest request, ServletResponse response,
   FilterChain chain) throws IOException, ServletException {
  if(enable){
   request.setCharacterEncoding(charset);
  }
  chain.doFilter(request, response);
 
}

public void init(FilterConfig config) throws ServletException {
  if(config.getInitParameter("enable").equals("true")){
   enable = true;
  }
  charset = config.getInitParameter("charset");
 
}

}



说明:Filter最大的用途就是字符编码的统一转换 权限的验证


权限验证,Filter类则这样写:

public class holdOnAdminPages implements Filter{
private String user;
private boolean enable = false;
public void destroy() {
   
}

public void doFilter(ServletRequest request, ServletResponse response,
   FilterChain chain) throws IOException, ServletException {
  chain.doFilter(request, response);
  HttpServletRequest req = (HttpServletRequest)request;
  HttpServletResponse res = (HttpServletResponse)response;
  String uri = req.getRequestURI();
  if(!enable){
   return;
  }
  if(uri.indexOf("login.jsp") != -1){
   return;
  }
  if(uri.indexOf("loginHandler.jsp") != -1){
   return;
  }
  if(req.getSession().getAttribute(user) == null){
   System.out.println(req.getSession().getAttribute(user));
   res.sendRedirect("login.jsp");
  }
}

public void init(FilterConfig config) throws ServletException {
  if(config.getInitParameter("enable").equals("true")){
   enable = true;
  }
  user = config.getInitParameter("user");
  System.out.println(enable);
  System.out.println(user);
}


}


其他用法,我就不知道了,等开发中知道了 - zai - 分享吧!


本文网址:http://www.mingyangnet.com/html/java/200.html
读完这篇文章后,您心情如何?
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
更多>>网友评论
发表评论
编辑推荐
  • 没有资料