虚位以待(AD)
虚位以待(AD)
首页 > 网络编程 > JSP编程 > JSP的Cookie在登录中的使用

JSP的Cookie在登录中的使用
类别:JSP编程   作者:码皇   来源:互联网   点击:

这篇文章主要介绍了JSP的Cookie在登录中的使用的相关资料,希望通过本文能帮助到大家,让大家理解掌握使用Cookie,需要的朋友可以参考下

JSP的Cookie在登录中的使用

一 功能需求

实现记忆用户名和密码功能。 

二 代码

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%>" rel="external nofollow" rel="external nofollow" rel="external nofollow" > <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" rel="external nofollow" rel="external nofollow" rel="external nofollow" > --> </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%>" rel="external nofollow" rel="external nofollow" rel="external nofollow" > <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" rel="external nofollow" rel="external nofollow" rel="external nofollow" > --> </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" rel="external nofollow" 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%>" rel="external nofollow" rel="external nofollow" rel="external nofollow" > <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" rel="external nofollow" rel="external nofollow" rel="external nofollow" > --> </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>

 三 测试

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

您可能感兴趣的文章:

  • 原生js+cookie实现购物车功能的方法分析
  • JS写XSS cookie stealer来窃取密码的步骤详解
  • jQuery结合jQuery.cookie.js插件实现换肤功能示例
  • Angularjs cookie 操作实例详解
  • 基于js中document.cookie全面解析
  • 原生JS 购物车及购物页面的cookie使用方法
  • PHP与JavaScript针对Cookie的读写、交互操作方法详解
  • javascript cookie的基本操作(添加和删除)
  • JS 设置Cookie 有效期 检测cookie
  • 实例学习JavaScript读取和写入cookie
相关热词搜索: JSP的Cookie在登录中应用 jsp cookie的使用