java的用户登录怎样记住上次登录的用户名和密码?
来源:互联网 发布:java cs界面开发框架 编辑:程序博客网 时间:2024/06/05 14:51
Java实现,用户在登录登录界面时可以记住上一次登录的用户名。本人认为可以有两种解决方案:
第一:使用数据库实现;具体实现为,新建表login。最简单的设计为里面有两个字段,一个字段为用户名,另外一个为本机IP地址。
第二:可以使用Cookie技术来实现;具体的实现代码如下(注:代码实现的是记录上一次登录的时间,把时间改为用户名即可):
- package com.fenuang.sevlvet;
-
- import java.io.IOException;
- import java.text.SimpleDateFormat;
- import java.util.Date;
-
- import javax.servlet.ServletException;
- import javax.servlet.http.Cookie;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
-
- public class firstservlet extends HttpServlet {
- @Override
- protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
-
- resp.setContentType("text/html;charset=utf-8");
- resp.getWriter().write("程序开启");
-
-
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
-
-
- String cutTime = sdf.format(new Date());
-
-
-
-
-
- Cookie[] cookies = req.getCookies();
-
- String lastTime = null;
-
-
-
-
- if (cookies != null) {
- for (Cookie cookie : cookies) {
-
-
- if (cookie.getName().equals("lastTime")) {
-
-
- lastTime = cookie.getValue();
- resp.getWriter().write("欢迎回来! 您上次登录是在:" + lastTime);
-
- cookie.setValue(cutTime);
-
- cookie.setMaxAge(1 * 30 * 24 * 60 * 60);
-
- resp.addCookie(cookie);
- break;
- }
-
- }
- }
-
- if (cookies == null || lastTime == null) {
-
-
-
-
- resp.getWriter().write("你好,欢迎登录 这是您的第一次" + cutTime);
-
- Cookie cookie = new Cookie("lastTime", cutTime);
-
- cookie.setMaxAge(1 * 30 * 60 * 24 * 60);
-
- resp.addCookie(cookie);
- }
-
- }
- }
-
- 配置的xml文件
-
-
-
- <?xml version="1.0" encoding="UTF-8"?>
- <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http:
- http:
- <!-- 配置servlet -->
- <!-- servlet配置 -->
- <servlet>
- <!--内部名称 -->
- <servlet-name>firstservlet</servlet-name>
- <!-- 全名 /first/src/firstservlet/firstservlet.java -->
- <servlet-class>com.fenuang.sevlvet.firstservlet</servlet-class>
- <!-- 让servlet对象自动加载 -->
- <load-on-startup>1</load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>firstservlet</servlet-name>
- <!-- servlet映射 路径 访问servlet的名称 -->
- <url-pattern>/first</url-pattern>
- </servlet-mapping>
- </web-app>
0 0