都被过滤了我的解决方案在web.xml中是这一样写
<init-param>
<param-name>notCheckURLList</param-name>
<param-value>/web/LoginServlet;/web/login.jsp;/web/images/station.jpg;/web/images/TOPBAR.GIF;/web/images/login_sign.jpg;/web/images/btn_login.GIF;/web/images/btn_register.GIF;/web/css/stylesheet.css;/web/patientRegister.jsp;web/PatientRegister;/web/PatientNameEServlet</param-value>
</init-param>
然后再filter中处理
奇怪的是我写/web/css/*或这/web/css/*.css都不能放行 图片也是 
这个怎么解释啊

解决方案 »

  1.   

    LZ把过滤器过滤对象 写成*.*了吧<filter-mapping>
    <filter-name>**Filter</filter-name>
    <url-pattern>*.*</url-pattern>
    </filter-mapping>
      

  2.   

    把代码贴出来web.xml中
    </filter>
    <filter-mapping>
    <filter-name>setEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
     
    <filter>
    <filter-name>checkLogin</filter-name>
    <filter-class>hospital.filters.LoginFilter</filter-class>  
    <init-param>
    <param-name>redirectURL</param-name>
    <param-value>/web/login.jsp</param-value>
    </init-param>
    <init-param>
    <param-name>checkSessionKey</param-name>
    <param-value>loginName</param-value>
    </init-param> <init-param>
    <param-name>notCheckURLList</param-name>
    <param-value>/web/LoginServlet;/web/login.jsp;/web/images/station.jpg;/web/images/TOPBAR.GIF;/web/images/login_sign.jpg;/web/images/btn_login.GIF;/web/images/btn_register.GIF;/web/css/stylesheet.css;/web/patientRegister.jsp;/web/PatientRegister;/web/PatientNameEServlet;/web/images/btn_cancel.GIF;/web/PatientNameEServlet</param-value>
    </init-param>
    </filter>
    filter
    package hospital.filters;import java.io.IOException;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.StringTokenizer;import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;public class LoginFilter implements Filter{ protected FilterConfig filterConfig = null;
    private String redirectURL = null;
    private List notCheckURLList = new ArrayList();
    private String sessionKey = null;

    public void destroy() {

    notCheckURLList.clear();

    } public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) 
    throws IOException, ServletException {
    HttpServletRequest request = (HttpServletRequest) servletRequest;
    HttpServletResponse response = (HttpServletResponse) servletResponse;
    HttpSession session = request.getSession();
    if (sessionKey == null) {
    filterChain.doFilter(request, response);
    return;
    }
    if ((!checkRequestURIIntNotFilterList(request))//checkRequestURIIntNotFilterList(request)=false的时候执行(即不在不检查列表中时执行)
    && session.getAttribute(sessionKey) == null) {
    // if(session.getAttribute(sessionKey) == null)
    // {
    // System.out.println("null");
    // }
    response.sendRedirect(request.getContextPath() + redirectURL);
    return;
    }
    filterChain.doFilter(servletRequest, servletResponse);

    } public void init(FilterConfig filterConfig) throws ServletException {
    this.filterConfig = filterConfig;
    redirectURL = filterConfig.getInitParameter("redirectURL");
    sessionKey = filterConfig.getInitParameter("checkSessionKey");
    String notCheckURLListStr = filterConfig
    .getInitParameter("notCheckURLList");
    if (notCheckURLListStr != null) {
    StringTokenizer st = new StringTokenizer(notCheckURLListStr, ";");
    notCheckURLList.clear();
    while (st.hasMoreTokens()) {
    notCheckURLList.add(st.nextToken());
    }
    }
    }

    private boolean checkRequestURIIntNotFilterList(HttpServletRequest request) {
    String uri = request.getServletPath()
    + (request.getPathInfo() == null ? "" : request.getPathInfo());
    return notCheckURLList.contains(uri);
    }

    }
      

  3.   

     <filter-mapping>
        <filter-name>setEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
        </filter-mapping>
    改成
     <filter-mapping>
        <filter-name>setEncodingFilter</filter-name>
        <url-pattern>*.do(*.jsp)</url-pattern>
      </filter-mapping>
      

  4.   

    能不能解释下 要改的是登陆的filter 为什么要改转码的filter?
      

  5.   

    能不能解释下 要改的是登陆的filter 为什么要改转码的filter?
      

  6.   

    HttpServletRequest req = (HttpServletRequest) request;
    String reqPath = req.getServletPath();
    if (!reqPath.endsWith("css"))
    这样试试