java web之路 jsp状态管理 cookie在登陆中的应用
2018-01-07 22:50
597 查看
通过cookie保存登陆使用的使用名及密码
login.jsp页面中输入用户名及密码,选择是否将帐户信息保存在cookie中
提交至dologin.jsp页面中,在dologin.jsp中使用cookie保存用户信息,设置链接到user.jsp页面
user.jsp页面通过cookie来读取帐户信息,验证cookie保存是否成功
login.jsp
dologin.jsp
user.jsp
login.jsp页面 如果保存了帐户信息,那么在帐户输入框中显示,修改后的页面
题外话:
学习的过程中,有过一点迷糊:什么时候使用request/resonpse ?
web有页面->页面, 页面->服务器
页面之前跳转,A到B,A提交信息至B,那么在B中使用request对象来得到相关信息,相反,B要把信息返回给A或者返回给客户端,B中使用response。
无论是谁传给谁,获取信息时使用requset, 发出信息时使用response;
在cookie的使用中,需要将cookie信息给到客户端,所以只有response对象才有addCookie方法
login.jsp页面中输入用户名及密码,选择是否将帐户信息保存在cookie中
提交至dologin.jsp页面中,在dologin.jsp中使用cookie保存用户信息,设置链接到user.jsp页面
user.jsp页面通过cookie来读取帐户信息,验证cookie保存是否成功
login.jsp
<form action="dologin.jsp" name="login" method="post"> <table> <tr> <td>用户名:<input type="text" name="username" value="<%=username%>"></td> </tr> <tr> <td>密码:<input type="password" name="password" value="<%=password%>"></td> </tr> <tr> <td><button type="submit" value="dologin">登陆</td> </tr> <tr> <td><input type="checkbox" name="usecookie" checked="checked">十天内记住用户名密码</td> </tr> </table> </form>
dologin.jsp
<% String username=""; String password=""; //获得是否选择了保存帐户信息 String isusecookie = request.getParameter("usecookie"); /* String[] isusecookie = request.getParameterValues("usecookie"); */ if(isusecookie!=null){ username=request.getParameter("username"); password=request.getParameter("password"); Cookie usernamecookie=new Cookie("username",username);//新建username cookie对象 Cookie passwordcookie=new Cookie("password",password); usernamecookie.setMaxAge(846000);//设置cookie存在的时间,单位秒 passwordcookie.setMaxAge(846000); response.addCookie(usernamecookie);//将username cookie对象写入cookie中 response.addCookie(passwordcookie); }else{ Cookie[] cookies=request.getCookies();//不保存帐户信息时需要清除原cookie信息 if(cookies!=null&&cookies.length>0){ for(Cookie c : cookies){ if(c.getName().equals("username")||c.getName().equals("password")){ c.setMaxAge(0); response.addCookie(c); } } } } %> <a href="user.jsp">链接到user.jsp</a>
user.jsp
<% String username=""; String password=""; Cookie[] cookie = request.getCookies(); for (Cookie c : cookie) { if(c.getName().equals("username")){ username=c.getValue(); } if(c.getName().equals("password")){ password=c.getValue(); } } %> 用户名:<%=username %> <br> 密码:<%=password %>
login.jsp页面 如果保存了帐户信息,那么在帐户输入框中显示,修改后的页面
<%
String username="";
String password="";
Cookie[] cookie = request.getCookies();
for (Cookie c : cookie) {
if(c.getName().equals("username")){
username=c.getValue();
}
if(c.getName().equals("password")){
password=c.getValue();
}
}
%>
<body>
<form action="dologin.jsp" name="login" method="post"> <table> <tr> <td>用户名:<input type="text" name="username" value="<%=username%>"></td> </tr> <tr> <td>密码:<input type="password" name="password" value="<%=password%>"></td> </tr> <tr> <td><button type="submit" value="dologin">登陆</td> </tr> <tr> <td><input type="checkbox" name="usecookie" checked="checked">十天内记住用户名密码</td> </tr> </table> </form>
题外话:
学习的过程中,有过一点迷糊:什么时候使用request/resonpse ?
web有页面->页面, 页面->服务器
页面之前跳转,A到B,A提交信息至B,那么在B中使用request对象来得到相关信息,相反,B要把信息返回给A或者返回给客户端,B中使用response。
无论是谁传给谁,获取信息时使用requset, 发出信息时使用response;
在cookie的使用中,需要将cookie信息给到客户端,所以只有response对象才有addCookie方法
相关文章推荐
- java web之路 jsp状态管理 cookie
- JSP状态管理 http协议的无状态性 Cookie简介
- JSP中使用cookie完成状态管理
- JSP状态管理_1_Cookie
- Jsp状态管理、Cookie与session
- Jsp状态管理(Cookie和Session的对比)
- JSP状态管理 及 Cookie实例
- jsp状态管理(Cookie Session)学习笔记整理
- JSP状态管理之cookie
- JSP的Cookie在登录中的应用
- jsp session 的状态保持, cookie的跨域访问(一)
- 应用数据流状态管理框架Redux简介、设计思想、核心概念及工作流
- JSP状态管理
- jsp状态管理
- 详解HTTP Cookie状态管理机制
- ASP.NET状态管理之五(Cookie)
- cookie应用三天免登陆
- 详情ASP.NET状态管理缓存Cache应用(学习)
- 利用统一资源标识符管理应用状态信息
- 页面状态管理cookie和服务器状态管理Session