注明 不是struts2.0,1.x版本,写了一个filter拦截*.do,但是出现了以下问题,虽然回到了登陆界面,但是进入不到action里面了,请问我应该怎么进行登陆验证呢。struts跳转的页面都是.do,用filter拦截jsp根本不起作用!

解决方案 »

  1.   

    首先说一句,我没有看明白你的意思
    我在这里说一下验证登陆的问题
    在struts里面验证其实和在servlet中验证时一样的啊,你在action里面调用dao的方法判断是否登录成功,成功forward到success.jsp不成功forward到login.jsp啊,另外filter一般是用来做整个系统的权限控制的啊,你可以配置他的过滤路径是*.jsp,*.do注意login.jsp要去掉啊,要不你就会造成一个死循环啊!
      

  2.   

    ,*.do注意login.jsp要去掉啊,这一点我是知道的,但是在url-patten里面怎么配置呢,或者是过滤器应该如何判断把login.jsp登陆的login.do去掉呢?
      

  3.   

    我的意思是用filter作登陆验证,Login.do也包含进去了,所以连登陆都不能登陆了,怎么进行配置,才能去掉不做Login.do的过滤呢?
      

  4.   

    可以在filter里判断请求的路径,是login.do则不进行拦截。
      

  5.   

    ,*.do注意login.jsp要去掉啊,这一点我是知道的,但是在url-patten里面怎么配置呢,或者是过滤器应该如何判断把login.jsp登陆的login.do去掉呢?
      

  6.   

    可以在filter里判断请求的路径,是login.do则不进行拦截。如何判断呢?请给个示例,谢谢!
      

  7.   

    if(request.getRequestURI().endsWith("login.do"))
    {
        //释放
    }
      

  8.   

    if (mobilenum==null||"".equals(mobilenum)) {
    res.sendRedirect("./login.jsp");
    }

    else {
    chain.doFilter(servletRequest, servletResponse);
    }
    我这里判断session的,你看,我要把楼上这段代码加到哪个地方了,是res.sendRedirect("./login.jsp")后还是chain.doFilter(servletRequest, servletResponse)后!
      

  9.   

    url-patten  配置 <url-patten>/*</url-patten>