`
cakin24
  • 浏览: 1388089 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

JSP的Cookie在登录中的应用

    博客分类:
  • java
阅读更多
一 功能需求
实现记忆用户名和密码功能。
 
二 代码
1、login.jsp
<%@ page language="java" import="java.util.*,java.net.*" contentType="text/html; charset=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 'index.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>
    <hr>
    <%
      request.setCharacterEncoding("utf-8");
      String username="";
      String password = "";
      Cookie[] cookies = request.getCookies();
      if(cookies!=null&&cookies.length>0)
      {
           for(Cookie c:cookies)
           {
              if(c.getName().equals("username"))
              {
                   username =  URLDecoder.decode(c.getValue(),"utf-8");
              }
              if(c.getName().equals("password"))
              {
                   password =  URLDecoder.decode(c.getValue(),"utf-8");
              }
           }
      }
    %>
    <form name="loginForm" action="dologin.jsp" method="post">
       <table>
         <tr>
           <td>用户名:</td>
           <td><input type="text" name="username" value="<%=username %>"/></td>
         </tr>
         <tr>
           <td>密码:</td>
           <td><input type="password" name="password" value="<%=password %>" /></td>
         </tr>
         <tr>
           <td colspan="2"><input type="checkbox" name="isUseCookie" checked="checked"/>十天内记住我的登录状态</td>
         </tr>
         <tr>
           <td colspan="2" align="center"><input type="submit" value="登录"/><input type="reset" value="取消"/></td>
         </tr>
       </table>
    </form>
  </body>
</html>
2、dologin.jsp
<%@ page language="java" import="java.util.*,java.net.*" contentType="text/html; charset=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 'dologin.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>
    <hr>
    <br>
    <br>
    <br>
    <%
       request.setCharacterEncoding("utf-8");
       //首先判断用户是否选择了记住登录状态
       String[] isUseCookies = request.getParameterValues("isUseCookie");
       if(isUseCookies!=null&&isUseCookies.length>0)
       {
          //把用户名和密码保存在Cookie对象里面
          String username = URLEncoder.encode(request.getParameter("username"),"utf-8");
          //使用URLEncoder解决无法在Cookie当中保存中文字符串问题
          String password = URLEncoder.encode(request.getParameter("password"),"utf-8");
         
          Cookie usernameCookie = new Cookie("username",username);
          Cookie passwordCookie = new Cookie("password",password);
          usernameCookie.setMaxAge(864000);
          passwordCookie.setMaxAge(864000);//设置最大生存期限为10天
          response.addCookie(usernameCookie);
          response.addCookie(passwordCookie);
       }
       else
       {
          Cookie[] cookies = request.getCookies();
          if(cookies!=null&&cookies.length>0)
          {
             for(Cookie c:cookies)
             {
                if(c.getName().equals("username")||c.getName().equals("password"))
                {
                    c.setMaxAge(0); //设置Cookie失效
                    response.addCookie(c); //重新保存。
                }
             }
          }
       }
    %>
    <a href="users.jsp" target="_blank">查看用户信息</a>
   
  </body>
 
</html>
3、users.jsp
<%@ page language="java" import="java.util.*,java.net.*" contentType="text/html; charset=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 'users.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>
    <hr>
    <%
      request.setCharacterEncoding("utf-8");
      String username="";
      String password = "";
      Cookie[] cookies = request.getCookies();
      if(cookies!=null&&cookies.length>0)
      {
           for(Cookie c:cookies)
           {
              if(c.getName().equals("username"))
              {
                   username = URLDecoder.decode(c.getValue(),"utf-8");
              }
              if(c.getName().equals("password"))
              {
                   password = URLDecoder.decode(c.getValue(),"utf-8");
              }
           }
      }
    %>
    <BR>
    <BR>
    <BR>
         用户名:<%=username %><br>
         密码:<%=password %><br>
  </body>
</html>
 
三 测试


 
  • 大小: 30.7 KB
2
0
分享到:
评论
1 楼 masuweng 2017-10-10  
     

相关推荐

    jsp之Cookie自动登录

    本文将深入探讨如何在JSP(JavaServer Pages)中实现Cookie自动登录。 ### 1. Cookie基础 Cookie是服务器在用户浏览器上存储的小型文本文件,用于记录用户信息,如登录状态、用户喜好等。当用户再次访问同一网站时...

    用jsp实现cookie登录验证

    在本文中,我们将深入探讨如何使用Java Server Pages (JSP) 实现基于Cookie的自动登录功能。这个过程涉及用户身份的持久化存储,以便在用户下次访问网站时能够自动识别和登录。首先,我们需要理解Cookie的基本概念...

    使用jspcookie实现登录密码的记录

    在IT行业中,尤其是在Web开发领域,使用`JSP(JavaServer Pages)`和`Cookie`技术可以帮助我们实现一些用户交互的便捷功能,如自动登录、会话管理等。本示例将详细介绍如何利用`JSP`和`Cookie`来记录用户的登录名和...

    jsp中cookie操作

    在JSP页面中写入Cookie,通常需要创建一个`Cookie`对象,并设置相应的属性,例如名称、值、有效期等,最后通过`HttpServletResponse`对象的`addCookie()`方法将Cookie添加到响应头中。 ```java Cookie _cookie = ...

    用jsp简单实现cookie功能

    在本文中,我们将深入探讨如何使用JavaServer Pages (JSP) 实现基本的Cookie功能。Cookie是Web应用程序中用于存储用户会话数据的一种机制,它允许服务器在客户端(即用户的浏览器)上保存信息,以便在后续请求中进行...

    jsp的Cookie讲解与例子

    在JSP中,`Cookie`是一个关键的概念,它用于在客户端存储少量信息,以便在用户浏览网站时跟踪和维护状态。 **Cookie的基本概念:** Cookie是由服务器端生成,发送到浏览器,并由浏览器保存的一小段文本信息。每当...

    Cookie简介及JSP处理Cookie的方法

    ### Cookie简介及JSP处理Cookie的方法 #### 一、什么是Cookies?...通过以上步骤,开发者可以在JSP应用中充分利用Cookies的功能,实现用户状态的持久化管理,提升用户体验,同时也能进行数据分析和个性化服务的提供。

    jsp 通过cookie 记住用户名

    在IT行业中,尤其是在Web开发领域,用户登录状态的管理是一个重要的功能。"jsp 通过cookie 记住用户名"这个主题涉及到的是如何利用Cookie技术在用户访问网站时记住他们的用户名,以便于提供更好的用户体验,比如自动...

    JSP使用cookie自动登录

    通过以上步骤,我们可以实现JSP应用中的Cookie自动登录功能。然而,为了提供更好的用户体验和更高的安全性,现代Web应用通常会结合Token(如JWT)和Session来管理用户会话,同时利用HTTP-only和Secure标志增强Cookie...

    Cookie简介及JSP处理Cookie的方法.doc

    在JSP(JavaServer Pages)中,我们可以方便地操作Cookie。创建一个新的Cookie对象,你可以使用以下代码: ```java Cookie cookie_name = new Cookie("Parameter", "Value"); ``` 这里的"Parameter"是Cookie的名称...

    Jsp+Servlet+Cookie实现记住密码,自动登录,防止表单提交,记录登录次数

    在Web开发中,"Jsp+Servlet+Cookie"是一个常见的技术组合,用于构建动态、交互式的网站应用。在这个实例中,我们将深入探讨如何利用这些技术实现记住密码、自动登录、防止表单重复提交以及记录登录次数的功能。 ...

    jsp如何实现单点登录

    在Web应用程序中,单点登录(Single Sign-On,SSO)是一种便捷的身份验证机制,允许用户在一次登录后,就能访问多个相互关联的应用系统,而无需再次输入凭证。在Java Web开发中,JSP常常用于构建用户界面,与Servlet...

    基于JSP动态登陆,注册的网站 cookie统计信息

    在登录系统中,Cookie常用来保存用户的登录状态,当用户关闭浏览器后再打开,可以通过Cookie中的信息自动登录,提升用户体验。Cookie有生命周期,过期后将被浏览器自动删除。 **Session** Session是服务器端保存...

    Jsp利用response.sendRedirect、cookie传参

    ### JSP中利用`response.sendRedirect`与...总之,在JSP开发中,熟练掌握`response.sendRedirect`和Cookie的使用,能够帮助开发者更灵活地控制页面流程,有效管理用户数据,从而构建更加健壮和高效的Web应用程序。

    JSP的Cookie在登录中的使用

    【JSP的Cookie在登录中的使用】 在Web开发中,JSP(JavaServer Pages)是一种动态网页技术,常用于创建交互式的用户界面。Cookie是一种在客户端存储数据的技术,它可以用来跟踪用户状态,例如在登录系统中实现...

    java jsp Cookie学习资料

    ### Java JSP Cookie 学习...通过本文的学习,我们了解到 Cookie 是如何在客户端存储信息的,以及如何在 Java JSP 应用中创建和操作 Cookie。掌握这些知识有助于开发者更好地管理用户的会话状态,实现用户认证等功能。

    jsp-cookie-session-crud 使用 JSP 实现cookie session验证及增删改查

    这个项目可以帮助我们理解如何在实际应用中结合JSP、cookie和session来实现用户验证和数据管理。 总结来说,JSP结合cookie和session提供了强大的用户认证和会话管理功能。通过CRUD操作,我们可以轻松地对用户数据...

    jsp cookie+session实现简易自动登录.docx

    ### JSP Cookie+Session 实现简易自动登录 #### 概述 在Web开发中,实现用户的...需要注意的是,在实际应用中还需要考虑更多的安全措施,比如加密Cookie中的敏感信息、使用HTTPS协议等,以进一步提高系统的安全性。

    JSP用户注册加信息显示COOKIE

    在Web开发中,JSP(JavaServer Pages)是一种动态网页技术,常用于构建服务器端的应用程序。配合Cookie技术,可以实现用户注册功能以及注册后信息的显示。本教程将详细介绍如何使用JSP进行用户注册,并利用Cookie...

    java jsp sql cookie

    在Web应用中,Cookie常用于实现会话管理、保持登录状态、记录用户偏好等。在Java Web开发中,我们可以使用javax.servlet.http.Cookie类来操作Cookie。例如,当用户登录时,服务器可以创建一个包含用户ID的Cookie,并...

Global site tag (gtag.js) - Google Analytics