| 
 <web-app> 
  <filter> 
    <filter-name>RequestFilter</filter-name> 
    <filter-class>net.golden.uirs.util.RequestFilter</filter-class> 
    <init-param> 
      <param-name>charset</param-name> 
      <param-value>gb2312</param-value> 
    </init-param> 
  </filter> 
  <filter-mapping> 
    <filter-name>RequestFilter</filter-name> 
    <url-pattern>*.Jsp</url-pattern> 
  </filter-mapping> 
</web-app> 
  
  
  public void doFilter(ServletRequest req, ServletResponse res, 
                       FilterChain fChain) throws IOException, ServletException { 
    HttpServletRequest request = (HttpServletRequest) req; 
    HttpServletResponse response = (HttpServletResponse) res; 
    HttpSession session = request.getSession(); 
    String userId = (String) session.getAttribute("userid"); 
req.setCharacterEncoding(this.filterConfig.getInitParameter("charset"));  
// 设置字符集? 
实际上是设置了byte ——〉char的encoding 
    try { 
      if (userId == null || userId.equals("")) { 
        if (!request.getRequestURL().toString().matches( 
            ".*/uirs/logon/logon(Controller){0,1}\\x2EJsp$")) { 
          session.invalidate(); 
          response.sendRedirect(request.getContextPath() + 
                                "/uirs/logon/logon.Jsp"); 
        } 
      } 
      else {  
            // 看看是否具有信息上报系统的权限 
        if (!net.golden.uirs.util.UirsChecker.check(userId, "信息上报系统", 
            net.golden.uirs.util.UirsChecker.ACTION_DO)) { 
          if (!request.getRequestURL().toString().matches( 
              ".*/uirs/logon/logon(Controller){0,1}\\x2EJsp$")) { 
            response.sendRedirect(request.getContextPath() + 
                                  "/uirs/logon/logonController.Jsp"); 
          } 
        } 
      } 
    } 
    catch (Exception ex) { 
      response.sendRedirect(request.getContextPath() + 
                            "/uirs/logon/logon.Jsp"); 
    } 
    fChain.doFilter(req, res); 
  }  |