码迷,mamicode.com
首页 > 其他好文 > 详细

使用cookie实现登录时账号自动填充

时间:2020-03-13 20:51:53      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:text   思路   charset   lang   元素   通过   als   pos   send   

本案例中包含三个jsp文件:Login.jsp,check.jsp,A.jsp.

Login.jsp中设置登录界面,其中html代码如下:         

<form action="Check.jsp"  method="post">
UserId:<input type="text"  name= "name"   value ="<%=(name == null)?" ":name %>"><br/>
Password:<input type="password"  name="pwd"><br/>
<input type = "submit"  value = "Log in "></input>
</form>
//这里有些变量会在后面给出

思路:

用户输入账号密码后,跳转到check.jsp页面,通过

String uname = request.getParameter("name");
String pwd = request.getParameter("pwd");

得到账号密码,然后通过如下代码把Name和pwd都放到cookie里面,通过response接收

Cookie cookie = new Cookie("uname",uname);
Cookie cookie2 = new Cookie("pwd",pwd);
response.addCookie(cookie);
response.addCookie(cookie2);

最后重定向跳转到新的界面A.jsp.

response.sendRedirect("A.jsp");//A.jsp中内容随意设置即可

在这之后,cookie被带到了客户端,这个时候cookie已经在客户端保存好了,客户端可以利用request.getCookie()得到cookie,并进一步获取其中的元素。

回到Login.jsp,其中需要的java代码是

<%!
String name = null;
%>
<%
Cookie[] cookies = request.getCookies();
for(Cookie cookie:cookies)//for each 循环遍历cookies中的所有cookie
{
if(cookie.getName().equals("name"))//如果cookie中的Name是uname的话,取他的value值赋给这里的name
{
    name = cookie.getValue();
}
}    
%>

完整的Login.jsp代码:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>2re</title>
</head>
<body>
<%!
String name = null;
%>
<%
Cookie[] cookies = request.getCookies();
for(Cookie cookie:cookies)
{
if(cookie.getName().equals("name"))
{
    name = cookie.getValue();
}
}    
%>
<form action="Check.jsp"  method="post">
UserId:<input type="text"  name= "name"   value ="<%=(name == null)?" ":name %>"><br/>
Password:<input type="password"  name="pwd"><br/>
<input type = "submit"  value = "Log in "></input>
</form>
</body>
</html>

check.jsp代码:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
String name = request.getParameter("name");
String pwd = request.getParameter("pwd");
Cookie cookie = new Cookie("name",name);
Cookie cookie2 = new Cookie("pwd",pwd);
response.addCookie(cookie);
response.addCookie(cookie2);
response.sendRedirect("A.jsp");
%>
</body>
</html>

 

                      

使用cookie实现登录时账号自动填充

标签:text   思路   charset   lang   元素   通过   als   pos   send   

原文地址:https://www.cnblogs.com/coder-dai/p/12488643.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!