您的位置:首页 > 编程语言 > Java开发

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

2017-03-02 13:18 435 查看
Java实现,用户在登录登录界面时可以记住上一次登录的用户名。本人认为可以有两种解决方案:

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

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

[java] view
plain copy

 





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放入数组  

         */    

    

        Cookie[] cookies = req.getCookies();    

    

        String lastTime = null;    

        /**  

         * 查询数组是否有lastTime的cookie  

         */    

    

        if (cookies != null) {    

            for (Cookie cookie : cookies) {    

    

                // 如果有上次的登陆痕迹    

                if (cookie.getName().equals("lastTime")) {    

    

                    // 把时间显示在浏览器    

                    lastTime = cookie.getValue();    

                    resp.getWriter().write("欢迎回来! 您上次登录是在:" + lastTime);    

                    // 更新cookie    

                    cookie.setValue(cutTime);    

                    // 设置过期时间一个月    

                    cookie.setMaxAge(1 * 30 * 24 * 60 * 60);    

                    // 把更新的数据发送到浏览器储存起来    

                    resp.addCookie(cookie);    

                    break;    

                }    

    

            }    

        }    

    

        if (cookies == null || lastTime == null) {    

    

            // 没有cookie 创建对象    

            // 显示当前时间    

    

            resp.getWriter().write("你好,欢迎登录 这是您的第一次" + cutTime);    

            // 把数据存储到cookie中    

            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://java.sun.com/xml/ns/javaee     

    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">    

    <!-- 配置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>    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐