java中利用Cookie做简单的自动登录及登录超时

2024-10-12 19:15:52

1、首先创建简单的登录界面index.jsp,表单提交到对应的Servlet,Action=“loginServlet”

java中利用Cookie做简单的自动登录及登录超时

2、创建工作界面work.jsp,其中只需要提示登录成功即可。

java中利用Cookie做简单的自动登录及登录超时

3、为了实现自动登录功能,在访问登录页面的时候,就需要从Cookie中去取值,看是否有保存用户信息,如果有,则直接跳转到工作界面,如果没有则客户录入登录信息登录。因此在index.jsp中嵌入java代码进行判断。

java中利用Cookie做简单的自动登录及登录超时

4、创建LoginServlet的java类并在web.xml中进行配置,用于控制登录,如果镶毳呦躲传入的用户啡捏葆锵登录信息满足条件,则跳转到工作界面,并且在其内部创建Cookie对象,将用户登录信息放入Cookie中,返回给浏览器,如果登录信息不满足条件,则跳转到登录失败页面。

java中利用Cookie做简单的自动登录及登录超时

5、在web.xml中配置Servlet,如下:

java中利用Cookie做简单的自动登录及登录超时

6、编辑完代码后,利用tomcat进行测试,设置的的应用路径为/,即是以http://localhost:8080直接访问到登录页面,不需要添加应用名。此时查看浏览器中的Cookie没有记录。

java中利用Cookie做简单的自动登录及登录超时

7、进行登录操作,由于我的代码中写的判断逻辑是写死的,只能以用户:Tom,密码123456进行登录,在实际应用需将注册用户保存到数据库;登录跳转到工作页面,显示登录成功

java中利用Cookie做简单的自动登录及登录超时

8、查看此时浏览器中的Cookie,用户和密码已经保存到其中了。

java中利用Cookie做简单的自动登录及登录超时

9、在此在浏览其中键入http://localhost:8080访问登录界面,此时不会再到登录界面而是直接到了工作界面提示登录成功。

10、由于在前面Servlet代码中,设置的cookie.setMaxAge(-1),为永不过期,只要浏览器不关,是一直保持登录状态的,如果设置成cookie.setMaxAge(10像粜杵泳),即10s过期,如果为0,则代表直接删除Cookie,不保存。这样通过设置Cookie的过期时间,能够简单的达到自动登录以及过期重登的功能。

猜你喜欢