java的用户登录怎样记住上次登录的用户名和密码?

来源:互联网 发布:java cs界面开发框架 编辑:程序博客网 时间:2024/06/05 14:51

Java实现,用户在登录登录界面时可以记住上一次登录的用户名。本人认为可以有两种解决方案


第一:使用数据库实现;具体实现为,新建表login。最简单的设计为里面有两个字段,一个字段为用户名,另外一个为本机IP地址。


第二:可以使用Cookie技术来实现;具体的实现代码如下(注:代码实现的是记录上一次登录的时间,把时间改为用户名即可):

[java] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. package com.fenuang.sevlvet;    
  2.     
  3. import java.io.IOException;    
  4. import java.text.SimpleDateFormat;    
  5. import java.util.Date;    
  6.     
  7. import javax.servlet.ServletException;    
  8. import javax.servlet.http.Cookie;    
  9. import javax.servlet.http.HttpServlet;    
  10. import javax.servlet.http.HttpServletRequest;    
  11. import javax.servlet.http.HttpServletResponse;    
  12.     
  13. public class firstservlet extends HttpServlet {    
  14.     @Override    
  15.     protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {    
  16.         // 设置界面编码方式    
  17.         resp.setContentType("text/html;charset=utf-8");    
  18.         resp.getWriter().write("程序开启");    
  19.     
  20.         // 设置时间格式    
  21.         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");    
  22.     
  23.         // 获取当前时间    
  24.         String cutTime = sdf.format(new Date());    
  25.     
  26.         /**  
  27.          * 先把所有的cookie放入数组  
  28.          */    
  29.     
  30.         Cookie[] cookies = req.getCookies();    
  31.     
  32.         String lastTime = null;    
  33.         /**  
  34.          * 查询数组是否有lastTime的cookie  
  35.          */    
  36.     
  37.         if (cookies != null) {    
  38.             for (Cookie cookie : cookies) {    
  39.     
  40.                 // 如果有上次的登陆痕迹    
  41.                 if (cookie.getName().equals("lastTime")) {    
  42.     
  43.                     // 把时间显示在浏览器    
  44.                     lastTime = cookie.getValue();    
  45.                     resp.getWriter().write("欢迎回来! 您上次登录是在:" + lastTime);    
  46.                     // 更新cookie    
  47.                     cookie.setValue(cutTime);    
  48.                     // 设置过期时间一个月    
  49.                     cookie.setMaxAge(1 * 30 * 24 * 60 * 60);    
  50.                     // 把更新的数据发送到浏览器储存起来    
  51.                     resp.addCookie(cookie);    
  52.                     break;    
  53.                 }    
  54.     
  55.             }    
  56.         }    
  57.     
  58.         if (cookies == null || lastTime == null) {    
  59.     
  60.             // 没有cookie 创建对象    
  61.             // 显示当前时间    
  62.     
  63.             resp.getWriter().write("你好,欢迎登录 这是您的第一次" + cutTime);    
  64.             // 把数据存储到cookie中    
  65.             Cookie cookie = new Cookie("lastTime", cutTime);    
  66.             // 设置过期时间    
  67.             cookie.setMaxAge(1 * 30 * 60 * 24 * 60);    
  68.             // 存储到服务器    
  69.             resp.addCookie(cookie);    
  70.         }    
  71.     
  72.     }    
  73. }    
  74.   
  75. 配置的xml文件  
  76.   
  77.   
  78.   
  79. <?xml version="1.0" encoding="UTF-8"?>    
  80. <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"    
  81.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    
  82.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee     
  83.     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">    
  84.     <!-- 配置servlet -->    
  85.     <!-- servlet配置 -->    
  86.     <servlet>    
  87.         <!--内部名称 -->    
  88.         <servlet-name>firstservlet</servlet-name>    
  89.         <!-- 全名 /first/src/firstservlet/firstservlet.java -->    
  90.         <servlet-class>com.fenuang.sevlvet.firstservlet</servlet-class>    
  91.         <!-- 让servlet对象自动加载 -->    
  92.         <load-on-startup>1</load-on-startup>    
  93.     </servlet>    
  94.     <servlet-mapping>    
  95.         <servlet-name>firstservlet</servlet-name>    
  96.         <!-- servlet映射 路径 访问servlet的名称 -->    
  97.         <url-pattern>/first</url-pattern>    
  98.     </servlet-mapping>    
  99. </web-app>    
0 0
原创粉丝点击