平时大家上网登录的时候都会有在“这台电脑上记住我”这个功能,
如果第一次登录了以后选择了记住我下次访问任何一个页面都会直接登录了。
现在我功能上是实现了,但只是打开首页的时候用脚本把cookie读取出来登录。
我要怎么做到每一个请求都能实现登录呢,总不能在每一个页面上都用脚本加载吧。我的方案是:比如我请求了index.do,用struts拦截器拦截一下这个方法先去读取cookie登录,
如果是请求index1.do我还得写一个拦截器去请求。能不能就写一个拦截或者是过滤器拦截所有的*.do请求呢?有做过的朋友能提供以下思路吗,谢谢大家。
如果第一次登录了以后选择了记住我下次访问任何一个页面都会直接登录了。
现在我功能上是实现了,但只是打开首页的时候用脚本把cookie读取出来登录。
我要怎么做到每一个请求都能实现登录呢,总不能在每一个页面上都用脚本加载吧。我的方案是:比如我请求了index.do,用struts拦截器拦截一下这个方法先去读取cookie登录,
如果是请求index1.do我还得写一个拦截器去请求。能不能就写一个拦截或者是过滤器拦截所有的*.do请求呢?有做过的朋友能提供以下思路吗,谢谢大家。
解决方案 »
- 求救!一个小错误却挑不出来呀 各位大侠 帮忙了……
- 数据库中的查询问题(应该比较简单吧)
- 身体是革命的本钱 ---希望对大家有所警示
- struts2 url传递参数给action中Model.value的属性?
- 各位高手,求你们帮我用SSH,ORACLE实现一个论坛
- SUSE 11下tomcat部署应用无法连接MYSQL问题
- java web 单点登录问题
- 用JDBC连接SQL Server 2000数据库问题?在线等待...
- 只安装TOMCAT可以进行JSP+JAVABEAN的开发吗?
- 求知识,JAVA从MYSQL获取200条数据速度问题
- Japser report 如何整合到struts1框架中
- google 二次开发
其他Action类都继承并实现BaseAction,就可以达到了。
框架如下:public abstract class BaseAction extends Action{
/* 覆盖Action的execute方法 **/
public ActionForward execute(.....//4个参数)throws Exception{ boolean logged = .....//在这里做你的登陆验证,一般都是判断session中是否有用户信息。
if(logged){
return doProcess(...//4个参数);
}else{//没登陆,forward到登陆界面
return new ActionForward("...")//导航到登陆界面
}
}
}/* 抽象方法,子类必须实现。子类可以在这里做你的业务 */
public abstract ActionForward doProcess(...);//public class MyAction extends BaseAction{
public abstract ActionForward doProcess(...){
//你的业务代码
}
}
public abstract ActionForward doProcess(...){
//你的业务代码
}
}复制过来的,这个abstract去掉