使用jsp 来简单实现cookie页面登录,并最后在表单上显示参数
首先 我们应该先写出我们的登录界面
-
用户名(文本框)
-
密码(文本框)
-
记住我(按钮)
-
登录(按钮)
demo1_login.jsp:
<form action="demo1_cookie.jsp" method="post">
用户名:<input type="text" name="username" value="<%=username%>"/><br>
密码: <input type="text" name="pwd" value="<%=pwd%>"/><br>
<input type="radio" name="checkbox"> 记住我 <br>
<input type="submit" name="提交">
</form>
然后在另一个jsp页面demo1_cookie.jsp 接受接受参数并保存到Cookie
- 首先我们要判断我们的记住我按钮是否被选中
- new Cookie 给username , 我们这里可以设置cookie的存在时长(因为要装* 所以要写上)
- new Cookie 给 pwd,我们这里也可以设置cookie的存在时长
- 保存我们的cookie
<%
request.setCharacterEncoding("utf-8");
//判断是否勾选了 "记住我"
if (request.getParameter("checkbox")!=null){
Cookie username = new Cookie("username",request.getParameter("username"));
//保存一个小时
username.setMaxAge(60*60);
Cookie pwd = new Cookie("pwd",request.getParameter("pwd"));
//保存一个小时
pwd.setMaxAge(60*60);
//保存cookie
response.addCookie(username);
response.addCookie(pwd);
}
%>
<h1>登陆成功</h1>
Cookie cookie = new Cookie("","");
一个方name , 一个放value值
String username = request.getParameter("username");
Cookie username = new Cookie("username",username);
所以这里就简写了 因为要装*嘛
Cookie username = new Cookie("username",request.getParameter("username"));
这时候我们就做完了点击 记住我 就可以保存我们的cookie , 没有点击cokkie 就不会保存我们的cookie
如何在我们的form表单现实呢 ?(真让人摸不到头脑)
-
遍历我们的cookie 拿到我们所有的cookie
-
根据我们的getName方法 拿到name
-
根据name判断
-
在判断值是否为空
-
如果不为空赋值就完事了
demo1_login.jsp:
<%
String username=""; //用户名
String pwd=""; //密码
String c; //接受值
Cookie[] cookies = request.getCookies(); //拿到数据,才能遍历
for (Cookie cookie : cookies) {
c=cookie.getName(); //遍历 得到了所有cookie的参数
if (c.equals("username")){
//判断cookie的参数是否为空
if (cookie.getValue()!=null){
//赋值
username=cookie.getValue();
//控制台打印
System.out.println(username);
}
}else if(c.equals("pwd")){
//判断cookie的参数是否为空
if (cookie.getValue()!=null){
//赋值
pwd=cookie.getValue();
//控制台打印
System.out.println(pwd);
}
}
}
%>
运行截图:
第一次运行:
输入后点击记住我 并 提交
退出来并刷新 看一下我们的登录页的表单