我是个JSP初学者,最近想用filter对访问网页的用户进行限制,只有登录用户才能对相关网页有访问权,可我实在不知道如何利用filter 来完成这样的工作,还请各位大侠帮帮书记!!!

解决方案 »

  1.   

    CharacterFilter.javaimport javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;public class CharacterFilter extends HttpServlet implements Filter {  
    private FilterConfig filterConfig;  
    public void init(FilterConfig filterConfig) throws ServletException {    
    this.filterConfig = filterConfig;  
    }  
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) {    
    HttpServletRequest sr = (HttpServletRequest)request;    
    HttpSession session = sr.getSession();    
    //获得session    
    //判断用户是否登录,如果没有,    
    ServletContext sc = filterConfig.getServletContext();    
    RequestDispatcher rd = sc.getRequestDispatcher("/login.jsp");    
    try {      
    rd.forward(request,response);    //转发到login.jsp让用户登录      
    filterChain.doFilter(request, response);    
    }catch (ServletException sx) {      
    filterConfig.getServletContext().log(sx.getMessage());    
    } catch (IOException iox) {      
    filterConfig.getServletContext().log(iox.getMessage());    
    }  
    }
    }web.xml 中加入
    <filter>    
    <filter-name>characterfilter</filter-name>    
    <filter-class>yourpackage.CharacterFilter</filter-class>  
    </filter>  
    <filter-mapping>    
    <filter-name>characterfilter</filter-name>    
    <url-pattern>/*</url-pattern>  
    </filter-mapping>...
      

  2.   

    支持楼上,若在struts中也差不多