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获取的是值。

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

目录
相关文章
|
1月前
|
Java
jsp中使用cookie时报错……
jsp中使用cookie时报错……
8 0
|
6月前
|
存储 设计模式 JavaScript
掌握JavaWeb开发的必备技能:Servlet、JSP、Cookie、Session、EL、JSTL详解 ~~~~B站老杜--Servlet-JSP-课堂笔记(三)
当某个特殊的事件发生(特殊的事件发生其实就是某个时机到了。)之后,被web服务器自动调用。 思考一个业务场景
48 0
|
6月前
|
缓存 前端开发 Java
掌握JavaWeb开发的必备技能:Servlet、JSP、Cookie、Session、EL、JSTL详解 ~~~~B站老杜--Servlet-JSP-课堂笔记(二)
我们只需要service方法,其他方法大部分情况下是不需要使用的。代码很丑陋。 适配器设计模式Adapter
34 0
|
6月前
|
前端开发 Java 应用服务中间件
掌握JavaWeb开发的必备技能:Servlet、JSP、Cookie、Session、EL、JSTL详解 ~~~~B站老杜--Servlet-JSP-课堂笔记(一)
对于一个动态的web应用来说,一个请求和响应的过程有多少个角色参与,角色和角色之间有多少个协议
51 0
|
27天前
|
Java
学校教师管理系统【JSP+Servlet+JavaBean】(Java课设)
学校教师管理系统【JSP+Servlet+JavaBean】(Java课设)
20 1
|
27天前
|
Java
人事管理系统【JSP+Servlet+JavaBean】(Java课设)
人事管理系统【JSP+Servlet+JavaBean】(Java课设)
19 0
|
4天前
|
设计模式 存储 前端开发
Java从入门到精通:2.2.1学习Java Web开发,了解Servlet和JSP技术,掌握MVC设计模式
Java从入门到精通:2.2.1学习Java Web开发,了解Servlet和JSP技术,掌握MVC设计模式
|
27天前
|
Java
排课系统【JSP+Servlet+JavaBean】(Java课设)
排课系统【JSP+Servlet+JavaBean】(Java课设)
7 0
|
27天前
|
Java
仓库管理系统【JSP+Servlet+JavaBean】(Java课设)
仓库管理系统【JSP+Servlet+JavaBean】(Java课设)
14 0
|
27天前
|
Java
学校人员管理系统【JSP+Servlet+JavaBean】(Java课设)
学校人员管理系统【JSP+Servlet+JavaBean】(Java课设)
16 0