今天为大家分享关于 JAVA--高级基础开发Cookie实现记住用户名和密码 的文章 ,文章写的挺好的就转载过来了,希望能在大家的学习与工作中帮助到大家,下面我们一起来看看吧!
前端JSP页面: 实现保存用户名和密码
Cookie// 用户名
String user = "";
// 登录密码
String pass = "";
// 复选框是否选中
String checked = "";
// 获取的是请求里的所有cookie组成的数组
Cookie[] cookies = request.getCookies();
// 如果cookies数组不为空对其进行遍历
if (cookies != null && cookies.length > 0) {
// 循环遍历Cookie
for (int i = 0; i < cookies.length; i++) {
// 获取Cookie对象
Cookie cookie = cookies[i];
// 将创建的cookie名与获取的cookie数组中已经存在的cookie名进行比较
if ("name".equals(cookie.getName())) {
// "name"是在另一个jsp文件中创建的cookie名
// 获取名字叫做"name"的cookie的值
user = URLDecoder.decode(cookie.getValue(), "utf-8");
// 将“记住用户名”设置为勾选
checked = "checked";
}
// 将创建的cookie名与获取的cookie数组中已经存在的cookie名进行比较
if ("password".equals(cookie.getName())) {
// "password"是在另一个jsp文件中创建的cookie名
// 获取名字叫做"password"的cookie的值
pass = cookie.getValue();
}
}
}
%>
用户登录
指的是将获取的cookie值放进输入框内--%>
用户名:
密码:
记住用户名和密码
checked="">
后端Servlet验证:
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
@WebServlet("/Login3")
public class Login3 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
//设置请求的编码
req.setCharacterEncoding("utf-8");
//获取请求中的参数
String name=req.getParameter("name");
String password=req.getParameter("password");
String remember=req.getParameter("remember");
//设置响应的文本信息
resp.setContentType("text/html;charset=UTF-8");
PrintWriter out=resp.getWriter();
//判断用户名和密码是否正确
if(name.equals("Admin")&&password.equals("000000")){
// 新建名为name的Cookie
Cookie nameCookie = new Cookie("name",name);
// 新建名为password的Cookie
Cookie passwordCookie = new Cookie("password", password);
// 判断复选框是否被选中,如果选中则返回on
if (remember.equals("on")) {
// 设置保存Cookie的时间长度,
nameCookie.setMaxAge(60*60*24*7); //7天
passwordCookie.setMaxAge(60*60*24*7);
} else {
// 设置将不保存Cookie
nameCookie.setMaxAge(0);
passwordCookie.setMaxAge(0);
}
// 输出到客户端
resp.addCookie(nameCookie);
resp.addCookie(passwordCookie);
// 登录成功后跳转到success.jsp
req.getRequestDispatcher("success.jsp").forward(req, resp);
}else if (!name.equals("Admin") && password.equals("000000")) {
// 如果用户名不正确,密码正确
// 保存错误提示数据
req.setAttribute("error", "用户名不正确");
// 登录失败后将跳转到error.jsp
req.getRequestDispatcher("error.jsp").forward(req, resp);
} else if (name.equals("Admin") && !password.equals("000000")) {
// 如果用户名正确,密码不正确
// 保存错误提示数据
req.setAttribute("error", "密码不正确");
// 登录失败后将跳转到error.jsp
req.getRequestDispatcher("error.jsp").forward(req, resp);
} else {// 如果用户名和密码都不正确
// 保存错误提示数据
req.setAttribute("error", "用户名和密码都不正确");
// 登录失败后将跳转到error.jsp
req.getRequestDispatcher("error.jsp").forward(req, resp);
}
}
}
以上就是关于 JAVA--高级基础开发Cookie实现记住用户名和密码 的全部内容了,
喜欢的小伙伴别忘了点赞分享一下哦,关注优讯网,优讯有你更精彩!
转载自: https://my.oschina.net/u/4244602/blog/3143369
版权归原作者所有,如有侵权请联系我们删除。