前端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值放进输入框内--%>

用户名:

密码:

记住用户名和密码

后端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记住用户名和密码_JAVA--高级基础开发Cookie实现记住用户名和密码相关推荐

  1. java 的记住用户名和密码,JAVA--高级基础开发Cookie实现记住用户名和密码

    今天为大家分享关于 JAVA--高级基础开发Cookie实现记住用户名和密码 的文章 ,文章写的挺好的就转载过来了,希望能在大家的学习与工作中帮助到大家,下面我们一起来看看吧! 前端JSP页面: 实现 ...

  2. java windows wifi密码_java 获取本机连接过的所有WiFI密码

    windows,cmd中可以通过命令行输入指令: netsh wlan show profiles 来获取连接过的WiFi名: 然后可以输入命令:获取WiFi名为 哦 的个密码 netsh wlan ...

  3. android修改用户名和密码错误,Android应用开发Android Studio 修改用户名、密码、URL等操作教程...

    本文将带你了解Android应用开发Android Studio 修改用户名.密码.URL等操作教程,希望本文对大家学Android有所帮助. 修改用户名.密码: 在AndroidStudio的ter ...

  4. java睡眠后继续执行_Java高级编程基础:如何使用线程的休眠,中断和连接

    线程休眠和中断 我们知道了在编程过程中创建线程,并启动以后,线程会交由操作系统来管理调度执行一个我们指定的计算任务. 如果没有其它异常情况出现的话,它会持续运行直到我们实现的run()方法执行完毕为止 ...

  5. java ee 6 源码_Java EE 6开发手册·高级篇(第4版)

    资源名称:Java EE 6开发手册·高级篇(第4版) 内容简介: <Java EE 6 开发手册?高级篇(第4 版)>是一本面向实战.以示例为驱动.在Java 平台企业版6(Java E ...

  6. java 入门 博客园_java入门基础

    什么是java? java是一门编程语言  编程语言有很多种 你比如 C语言 等等 为什么学习java呢! 因为你要和计算机交互  当然了你用汉语跟她说她听不懂 所以你要学习编程语言 那么额咱们的ja ...

  7. java图形界面详解_JAVA 图形界面开发基础详解

    与C的win32一样,JAVA也有自己的图形界面开发,将在此篇博客中对基础部分进行讲解. 1.Java提供的图形界面类有哪些? Java提供了两套图形界面 (1)AWT组建(基础) AWT组件是jdk ...

  8. java 处理异常的场景_Java高级----异常处理机制、自定义异常----含思维导图

    Java高级----异常处理机制.自定义异常----含思维导图 Java高级----异常处理机制.自定义异常----含思维导图 南一Java自学交流QQ群: 586012641 拒绝任何广告,共享Ja ...

  9. java朗控点异常_Java语言基础(day_04)

    选择结构(switch语句)(掌握) 1)格式:switch(表达式){    case 值1:语句体1;  break;    case 值2:语句体2;  break;    ...    def ...

最新文章

  1. cocoa 坑爹的委托
  2. 游戏玩家行为基本模式的初探小汇
  3. 版本控制入门-----搬进Github
  4. pandas 绘图大全(和绘制横坐标为时间的图)
  5. es6 --- 用promise对象实现Ajax操作的一个实例
  6. arm 添加 samb 文件共享
  7. 《编码的奥秘》读书笔记
  8. Google Chrome Frame 自定义渲染方式,调用ActiveX
  9. SpringBoot --- 整合Elasticsearch
  10. 域名ip查询步骤与域名如何解析到ip
  11. 如何快速8小时写一篇毕业论文
  12. 虚拟机VMware10安装中标麒麟6 NeoKylin Linux Desktop Release 6
  13. Matlab Coder优缺点、使用介绍、使用注意
  14. 虚拟机u盾怎么使用_Linux下如何使用网银
  15. 如果一个n位正整数等于它的n个数字的n次方和,则称该数为n位自方幂数。编程计算并输出所有的n的所有情况。
  16. 大学计算机基础贾宗璞答案,大学计算机应用基础C教学大纲
  17. BCrypt算法,想想spring security里的BCryptPasswordEncoder
  18. 【C++】packaged_task的用法实例
  19. 简一论币:8.15 ETH多头大放异彩 BTC上行蠢蠢欲动
  20. Vue-Uni-App小程序实现身份证识别

热门文章

  1. TestComplete使用关键字测试的数据驱动测试(上)
  2. 腾讯云加入LoRa联盟成为发起成员,加速推动物联网到智联网的进化
  3. 三个参数之和、积的取值范围问题
  4. 温州近10%的网站存在高危安全漏洞
  5. ceentos5.5 配置samba服务用户组
  6. 深浅拷贝的使用场景分析
  7. Java动态代理实现(转载\整理)
  8. Scribe安装问题
  9. 配置JAVA和配置Android -sdk步骤
  10. python好用 appium fiddler_python3 爬虫实战:mitmproxy 对接 python 下载抖音小视频