问:   怎样实现   判断  用户是否登录 ,如果登录了,就继续跳转,没有登录  就跳转到登陆页面最好使用  filter 或者  监听器实现 

解决方案 »

  1.   

    其实我认为这用个Servlet充当控制器就可以了,控制验证后页面的转发
      

  2.   

    方法很多种:jsp 验证、servlet 验证,还有楼主所说的监听器验证等等
      

  3.   

    随便你用哪一种:
    if(request.getSession().getAttribute(name) == null){
        "没有登陆";
        //转发到其他页面
    }
      

  4.   

    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;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    public class LoginFilter implements Filter { public void destroy() { } public void doFilter(ServletRequest request, ServletResponse response,
    FilterChain chain) throws IOException, ServletException {
    HttpServletRequest req = (HttpServletRequest)request;
    HttpServletResponse resp = (HttpServletResponse)response;
    HttpSession session = req.getSession();
    if(session.getAttribute("user"/*your user*/) == null)
    resp.sendRedirect("/logon.html"/*your login page.*/);
    else
    chain.doFilter(req, resp);

    } public void init(FilterConfig arg0) throws ServletException { }}配置路径为/*就可以了.
      

  5.   

    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,
    FilterChain chain) throws IOException, ServletException {
    HttpServletRequest httpServletRequest=(HttpServletRequest)servletRequest;
    HttpServletResponse httpServletResponse=(HttpServletResponse)servletResponse;
    String requesturi=httpServletRequest.getRequestURI();
    //通过检查session中的变量,过滤请求
    HttpSession session=httpServletRequest.getSession();
    Object currentUer1=session.getAttribute("user"); //当页面进行拦截
    if((currentUer1==null&&currentUer2==null)//设置过滤条件
    &&(requesturi.lastIndexOf("admin")!=-1||(requesturi.endsWith("list.do"))
    ||(requesturi.endsWith("beautyList.do"))
    ||(requesturi.endsWith("foodListAction.do"))
    ||(requesturi.endsWith("ly.do?method=show") )
    ||(requesturi.endsWith("showComms.do"))
    ||(requesturi.endsWith("listRoom.do"))
    ||(requesturi.endsWith("reserveManager.do"))
    )
    //以下页面不进行过滤
    &&!requesturi.endsWith("/login.jsp")
    &&!requesturi.endsWith("css") 
    &&!requesturi.endsWith("AuthImg")
    &&!requesturi.endsWith("jpg") 
    &&!requesturi.endsWith("js")
    )

    {
    httpServletResponse.sendRedirect(httpServletRequest.getContextPath()+"/admin/login.jsp");
    return ;
    }这个稍微复杂点
      

  6.   

    我自己写了一套     用的 过滤器 ,但是 在frame 里  它只验证左面的,不验证右面的。。
       于是乎 我又在 所有的Action 里加上了  会话验证。