怎么样才能保存用户上次登陆的用户名和密码,下次,在登陆时可以不用输入用户名和密码就能登陆系统。

解决方案 »

  1.   

    Web应用用cookie,桌面应用加密保存文件里面,打开的应用的时候读取。
      

  2.   

    1 用户名和密码加密后,保存到cookie里面,
    2 用户访问时,cookie会自动发到服务器
    3 服务器端拿到cookie后,解密,判断是否正确,如果没问题,按登陆成功处理
      

  3.   

    下面是登陆servletimport java.io.IOException;
    import java.io.PrintWriter;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 CookieServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8");
    request.setCharacterEncoding("UTF-8");
    String username = "";
    String pwd = "";
    Cookie[] c = request.getCookies();
    if(c != null){
    for(int i = 0;i<c.length;i++){
    if(c[i].getName().equals("user")){
    username = c[i].getValue();
    }
    if(c[i].getName().equals("pwd")){
    pwd = c[i].getValue();
    }
    }


    PrintWriter out = response.getWriter();
    out.println("<html>");
    out.println("<head>");
    out.println("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">");
    out.println("<title>登录</title>");
    out.println("</head>");
    out.println("<body><center><form action=\"./ValidateServlet\" method=\"post\" name=\"login\">");
    out.println();
    out.println("用户名:<input type=\"text\" size=\"20\" name=\"userName\" value="+ username +">");
    out.println("<BR>");
    out.println("</p><p>密码:<input type=\"password\" size=\"20\" name=\"pwd\" value=" + pwd +">");
    out.println("<BR>");
    out.println("<input type=\"Submit\" name=\"button1\" value=\"提交\">");

    }
    public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException { doGet(request, response);
    }}下面处理登陆的servlet
    import java.io.IOException;
    import java.io.PrintWriter;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 ValidateServlet extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8");
    request.setCharacterEncoding("UTF-8");
    String username = request.getParameter("userName");
    String pwd = request.getParameter("pwd");
    //验证用户名,密码是否正确,此处略;如果正确则进行一下操作
    Cookie user = new Cookie("user",username);
    Cookie password = new Cookie("pwd",pwd);
    user.setMaxAge(24*60*60);
    password.setMaxAge(24*60*60);
    response.addCookie(user);
    response.addCookie(password);
    response.getWriter().println("成功");

    }
    public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException { doGet(request, response);
    }}
    访问CookieServlet即可.注意ValidateServlet 中没有连接数据库验证.
      

  4.   

    1   用户名和密码加密后,保存到cookie里面,
    2   用户访问时,cookie会自动发到服务器
    3   服务器端拿到cookie后,解密,判断是否正确,如果没问题,按登陆成功处理