能不能说的具体点啊 最好有代码贴出来

解决方案 »

  1.   

    用Filter处理
    在web.xml中加入:
    <filter>
        <filter-name>Check</filter-name>
        <filter-class>myfilter.CheckFilter</filter-class
        <init-param>
            <param-name>LoginPage</param-name>
            <param-value>/LoginPage.jsp</param-value>
        </init-param>
    <filter>
    <filter-mappint>
        <filter-name>Check</filter-name>
        <url-pattern>/auth/*</utl-pattern>
    </filter-mappint>这样,当前/auth目录下的CheckFilter.javapackage myfilter;import java.io.*;
    import java.net.*;
    import javax.servlet.*;
    import javax.servlet.http.*;public class CheckFilter implements Filter{
    private FilterConfig filterConfig; //登录页面,当用户没有登录时,首先会跳到这里
    private String loginPage="/first/LoginPage.jsp"; public void init(FilterConfig conifg) throws ServletException{

    //通过FilterConfig获得web.xml的配置初始化参数
    filterConfig = conifg;
    if(filterConfig.getInitParameter("LoginPage") != null){
    loginPage=filterConfig.getInitParameter("LoginPage");
    }
    } public void destroy() {
    filterConfig = null;
    } public void doFilter(ServletRequest request, ServletResponse response,FilterChain arg2) throws IOException, ServletException {
    HttpServletRequest req = (HttpServletRequest) request;
    ServletResponse res = (ServletResponse) response;

    //通过判断session中是否具有auth参数来判断是否已登录
    HttpSession session = req.getSession(true);

    if(session.getAttribute("auth") != null){
    }else{
    ServletContext ctx = filterConfig.getServletContext();
                            //跳到登录页面
    ctx.getRequestDispatcher(loginPage).forward(req,res);
    }
    }

    }在页面登录成功后,session.setAttribute("auth","yes");