jsp使用cookie实现记住用户名和密码

简介: jsp使用cookie实现记住用户名和密码

首先说一下实现的功能:

用户打开注册页面,最下面有个记住用户名和密码的复选框,如果勾选上,则在登录页面会自动将用户名和密码赋值到文本框中,使用java中的cookie实现,下面就是代码:

注册页面代码(reg.jsp):

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'reg.jsp' starting page</title>
    
  <meta http-equiv="pragma" content="no-cache">
  <meta http-equiv="cache-control" content="no-cache">
  <meta http-equiv="expires" content="0">    
  <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  <meta http-equiv="description" content="This is my page">
  <!--
  <link rel="stylesheet" type="text/css" href="styles.css">
  -->
  </head>
  
  <body>
     <h1>注册页面</h1>
     <form action="doreg.jsp" method="post">
      用户名:<input type="text" name="name"/><br/>
      密码:<input type="text" name="pass"/><br/>
      <input type="checkbox" name="jizhu"/>记住用户名和密码
      <br/>       
      <input type="submit" value="注册"/>
      <input type="reset" value="重置"/>
     </form>
  </body>
</html>

运行结果如图所示:

点击注册的按钮时,将表单信息提交到doreg.jsp页面,下面是doreg.jsp页面的代码:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
  //解决乱码
  request.setCharacterEncoding("utf-8");
  //获取记住密码的框是否选中
  String jizhu = request.getParameter("jizhu");
  if(jizhu!=null){
    //获取值
    String name = request.getParameter("name");
    String pass = request.getParameter("pass");
    //将值放在cookie里面
    Cookie c1 = new Cookie("uname",name);
    Cookie c2 = new Cookie("upass",pass);
    response.addCookie(c1);
    response.addCookie(c2);
    //重定向到登陆页面
    response.sendRedirect("login.jsp");
  }
  
 %>

这个页面主要是处理业务,所有将jsph中的html代码都已去掉,全部以小脚本的方式写的。先判断注册时是否勾选记住用户名和密码的复选框,如果勾选则将用户名和密码放到cookie里,最后重定向到登录页面login.jsp里。

下面是login页面的代码:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'login.jsp' starting page</title>
    
  <meta http-equiv="pragma" content="no-cache">
  <meta http-equiv="cache-control" content="no-cache">
  <meta http-equiv="expires" content="0">    
  <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  <meta http-equiv="description" content="This is my page">
  </head>
  
  <body>
  <%
    String name="";
    String pass="";
    //获取cookie里面的值
    Cookie [] cookies = request.getCookies();
       if(cookies!=null){
        //遍历cookie
        for(int i = 0;i<cookies.length;i++){
          if(cookies[i].getName().equals("uname")){
            //获取cookie里面的用户名
            name = cookies[i].getValue();
          }else if(cookies[i].getName().equals("upass")){
            //获取密码
            pass = cookies[i].getValue();
          }
        }
       }
   %>
     <h1>登录页面</h1>
       <form action="dologin.jsp" method="post">
      用户名:<input type="text" name="name" value="<%=name%>"/><br/>
      密码:<input type="text" name="pass" value="<%=pass%>"/><br/>
      <input type="submit" value="登录"/>
      <input type="reset" value="重置"/>
     </form>
  </body>
</html>

运行截图如下所示:

其中,Cookie的getName是获取存放的键,getValue获取的是值。

欢迎留言评论,公众号:雄雄的小课堂。

相关文章
|
3月前
|
Java 数据安全/隐私保护
JavaBean组件<jsp:forward>动作<jsp:param>动作登录页面输入用户名和密码,然后进入检查页面判断是否符合要求,符合要求跳转到成功界面,不符合要求返回登录界面,显示错误信息。
该博客文章通过JavaBean组件和JSP动作元素`<jsp:forward>`与`<jsp:param>`的使用示例,演示了用户登录流程,包括登录信息的提交、验证以及根据验证结果进行的页面跳转。
JavaBean组件<jsp:forward>动作<jsp:param>动作登录页面输入用户名和密码,然后进入检查页面判断是否符合要求,符合要求跳转到成功界面,不符合要求返回登录界面,显示错误信息。
|
5月前
|
存储 Java
JSP 教程 之 JSP Cookie 处理 8
JSP教程讲解如何处理Cookie。要删除Cookie,需获取已存在Cookie,将其有效期设为0,然后重新添加到响应头。以下示例代码演示如何删除一个名为&quot;name&quot;的Cookie。当运行此JSP,第二次访问时,&quot;name&quot; Cookie将变为null。页面还会显示现有Cookie的名称和解码后的值。
28 2
|
5月前
|
存储 Java
JSP 教程 之 JSP Cookie 处理 7
JSP教程讲解了如何处理Cookie。Cookie是客户端的文本文件,用于存储跟踪信息。在JSP中,通过调用`request.getCookies()`获取Cookie数组,然后遍历并使用`getName()`和`getValue()`读取每个Cookie的名称和值。示例代码展示了一个JSP页面,它遍历请求中的Cookie,并解码显示其名称和值。如果未找到Cookie,则显示相应消息。
30 1
|
5月前
|
存储 Java
JSP 教程 之 JSP Cookie 处理 6
JSP教程讲解了如何处理Cookie。Cookie是客户端的文本文件,用于存储跟踪信息。在JSP中,设置Cookie涉及三步:创建Cookie对象、设置有效期和添加到HTTP响应头。示例代码展示了一个JSP页面,接收HTML表单数据,编码后存储为Cookie,并设置24小时有效期。用户可以通过GET方法提交表单到main.jsp,实现Cookie设置。
38 2
|
5月前
|
JavaScript 前端开发 数据安全/隐私保护
JS中使用Cookie实现记住密码以及设置密码过期时间
JS中使用Cookie实现记住密码以及设置密码过期时间
81 0
|
5月前
|
存储 Java
JSP 教程 之 JSP Cookie 处理 4
JSP教程讲解了如何处理Cookie,Cookie是客户端存储的文本信息,用于跟踪用户行为。设置Cookie涉及三步:1) 创建Cookie对象,如`new Cookie(&quot;key&quot;,&quot;value&quot;)`,注意名称和值不能含特殊字符;2) 设定有效期,如`setMaxAge(60*60*24)`表示24小时有效;3) 使用`response.addCookie(cookie)`将其发送到HTTP响应头。
30 0
|
24天前
|
Java 容器
【学习笔记】Jsp与Servlet技术
【学习笔记】Jsp与Servlet技术
54 0
|
3月前
|
SQL Java 数据库
jsp中使用Servlet查询SQLSERVER数据库中的表的信息,并且打印在屏幕上
该博客文章介绍了在JSP应用中使用Servlet查询SQL Server数据库的表信息,并通过JavaBean封装图书信息,将查询结果展示在Web页面上的方法。
jsp中使用Servlet查询SQLSERVER数据库中的表的信息,并且打印在屏幕上
|
3月前
|
供应链 前端开发 Java
JSP+servlet+mybatis+layui服装库存管理系统(大三上学期课程设计)
这篇文章通过一个服装库存管理系统的实例,展示了在Spring Boot项目中使用Ajax、JSON、layui、MVC架构和iframe等技术,涵盖了注册登录、权限管理、用户管理、库存管理等功能,并提供了系统运行环境和技术要求的详细说明。
JSP+servlet+mybatis+layui服装库存管理系统(大三上学期课程设计)
|
3月前
|
前端开发 安全 Java
在Java服务器端开发的浩瀚宇宙中,Servlet与JSP犹如两颗璀璨的明星,它们联袂登场,共同编织出动态网站的绚丽篇章。
在Java服务器端开发的浩瀚宇宙中,Servlet与JSP犹如两颗璀璨的明星,它们联袂登场,共同编织出动态网站的绚丽篇章。
25 0