login.jsp接收用户信息输入,提交给action,判断信息是否合法,合法则再看用户是否选择“自动登录”,如果选择了,就将相关信息存入cookie。 
又写了个过滤器,过滤对login.jsp的请求,过滤器里检查cookie是否存有用户信息,存了则自动跳转到登录成功的页面。 
我想知道:这样的思路是否符合实际开发的情况? 
另外,还想知道:从Filter里怎么跳转到成功页面,难道还用response.sendRedirect()? 

解决方案 »

  1.   

    其实都不是满意答复啊,但是感谢并鼓励一下吧。
    在JavaEye得到了真正的帮助:是cookie路径问题,用cookie的setPath函数设置一下就好了。
      

  2.   

    方法很受限,就用你的response.sendRedirect();String url = request.getRequestURI();
    response.sendRedirect(URL?method=success);//这些都要自己构建!是局部URL成功disp action的写法成功跳转是业务程序代码。放进过滤器你看着办吧!ServletRequestWrapper.setRequest(ServletRequest request) 
    request根本就没提供协议数据构建接口,想用也基本不可能。除非你花很长时间自己写过滤器标准。
    requset能否在克隆?或是在克隆阶段制造自己的request就需要你自己研究了。
      

  3.   

    还是没明白你说的chain连环是什么意思。我现在是这样做的:
    增加一个action,在此action中尝试取session中保存的用户信息,取到则直接转到登录成功页面,取不到则转向login.jsp。用户登录时,请求的不再是login.jsp,而是这个新增加的action。 
    原来写的过滤器现在过滤对这个新action的请求。
      

  4.   

    我感觉你的是可以的啊,你的意思是在filter中做权限控制,不过filter的过滤路径应该是那些需要保护的路径,而不是你的那个action啊,如果是只针对你的那个action,我感觉没有必要用filter了!
      

  5.   

    如果按我的做法,有个问题,就是当成功登录后,在浏览器窗口中点击回退或刷新,重新要求登录却到不了成功登录的页面了。为什么?难道就是APOLLO_TS说的chai 连环问题?