导航:首页 > 编程语言 > 记住密码怎么实现jsp

记住密码怎么实现jsp

发布时间:2024-12-30 14:18:38

『壹』 html语言,记住用户名密码勾选框代码

<input name="" type="checkbox" value="" checked="checked" />记住我的选择

这只是html的代码,是没有“记住”的功能的。要实现这个功能还回必须用到其它动态答网站编程语言,如asp,php,jsp等,这些编程语言都有个叫“cookie”的东东,用来在客户端保存信息的,用它就能“记住”用户的选择了。

『贰』 如何在javaEE中使用cookie实现记住用户明名密码下次自动登录

例如:在用户提交用户名和密码之后,进入到loginServlet后,通过获取页面上checkbox的值来判断用户是否需要记住密码,如果需要的话,使用:Cookie cookie = new Cookie("testkey","testvalue");cookie.setMaxAge(3600);// 有效时间,单位是秒cookie.setPath("abc");response.addCookie(cookie);如上几句来保存cookie。在登录页面的时候,需要使用:Cookie[] cookies = request.getCookies();for (int i = 0; cookies != null && i < cookies.length; i++) { System.out.println(cookies[i].getName() + "=" + cookies[i].getValue());}来获取cookie的值判断用户曾经是否已经记住密码,如果是的话,则直接调用cookie的值来进行登录,如果不是,则正常登录

『叁』 java 开发,然后我想问下,jsp 页面那个checkbox 框记住密码是怎么实现的

好的,楼主,我现在把实现这个业务的简单化示例做出来过你。

要实现题目这个功能,我们需要使用Cookie浏览器缓存来做到。Cookie与Session的最大不同,就在于它们的生命周期,Cookie通过设置后,生命周期可以与Session一样,或者比它长久。

通常来说,根据我的习惯,对于一些通用的业务能够,我希望把它们封装到一个工具类里面,使用方法就是直接调用它的静态方法。

CookieTool.java 源代码:

/**
* 设置cookie(接口方法)
* @param response
* @param name cookie名字
* @param value cookie值
* @param maxAge cookie生命周期 以秒为单位
*/
public static void addCookie(HttpServletResponse response,String name,String value,int maxAge){
Cookie cookie = new Cookie(name,value);
cookie.setPath("/");
if(maxAge>0) cookie.setMaxAge(maxAge);
response.addCookie(cookie);
}

/**
* 根据名字获取cookie(接口方法)
* @param request
* @param name cookie名字
* @return
*/
public static Cookie getCookieByName(HttpServletRequest request,String name){
Map<String,Cookie> cookieMap = ReadCookieMap(request);
if(cookieMap.containsKey(name)){
Cookie cookie = (Cookie)cookieMap.get(name);
return cookie;
}else{
return null;
}
}

/**
* 将cookie封装到Map里面(非接口方法)
* @param request
* @return
*/
private static Map<String,Cookie> ReadCookieMap(HttpServletRequest request){
Map<String,Cookie> cookieMap = new HashMap<String,Cookie>();
Cookie[] cookies = request.getCookies();
if(null!=cookies){
for(Cookie cookie : cookies){
cookieMap.put(cookie.getName(), cookie);
}
}
return cookieMap;
}

好了,工具类的静态方法已经定义好了。

我先假定楼主对表现层提交表单到业务层是有概念的,

这里存在两种情况:

(1)客户端没有登录记录,则进入登录页面

(2)客户端存在有效的登录记录,进入登录后的页面。

因此在显示登录页面之前就要通过一个业务方法进行判断,其中最核心的是:

Cookie cokLoginName = CookieTool.getCookieByName(request,"loginName");
Cookie cokLoginPwd = CookieTool.getCookieByName(request,"loginPwd");

if (cokLoginName != null && cokLoginPwd != null && cokLoginName.getValue()!=null && cokLoginPwd.getValue()!=null){
String loginName = cokLoginName.getValue();
String loginPwd = cokLoginPwd.getValue();
//检查到客户端保存了用户的密码,进行该账户的验证
//这里要使用你自己的账户验证方法
//如果账户验证成功,则跳转到登录成功的页面
//如果账户验证失败,则
CookieTool.addCookie(response,"loginName",null,0); //清除Cookie
CookieTool.addCookie(response,"loginPwd",null,0); //清除Cookie
//然后跳转到登录页面
}

其次就是在登录JSP页面的表单所提交到的登录Action。这里假设表单提交到的是Servlet,读取表单参数楼主应该没有问题吧?我这里只关注和插入Cookie代码。

插入的地方在账户密码的正确性经过验证,在跳转页面之前。假设储存用户输入的帐号和密码字段分别为String username,String password

int loginMaxAge = 30*24*60*60; //定义账户密码的生命周期,这里是一个月。单位为秒
if ( 单选框 ) {
CookieTool.addCookie(response , "loginName" , username , loginMaxAge);
CookieTool.addCookie(response , "loginPwd" , password , loginMaxAge);
}

希望我提供的工具类和方法会对楼主有帮助!有什么问题请给我留言!谢谢!

『肆』 jsp中不能提取cookie!

//这是一个servlet的,你改成JSP的就可以用,你可以参照里面的逻辑去做一下,说不定可以帮你(这道题是记住用户自动登陆)

package servlets;

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 Login extends HttpServlet {

public Login() {
super();
}

public void destroy() {
super.destroy();
}

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

response.setContentType("text/html;charset=GBK");
PrintWriter out = response.getWriter();

Cookie[] cookies = request.getCookies();
if(cookies != null){
for(Cookie cookie : cookies){
out.println("用户名:"+cookie.getName()+"<br />");
out.println("密码:"+cookie.getValue()+"<br />");
out.println(cookie.getName() + ",您好!欢迎来到登陆页面!!");
}
}else{
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>Login Servlet</TITLE></HEAD>");
out.println(" <BODY><form action='Login' method='post'>");
out.print("<p>用户名:<input name='name' type='text' /></p>" +
"<p>密码:<input name='pwd' type='password' /></p>" +
"<p><input name='jizhu' type='checkbox' />记住我</p>" +
"<p><input name='sub' type='submit' value='登录' /></p>");
out.println("</form> </BODY>");
out.println("</HTML>");
}
out.flush();
out.close();
}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

response.setContentType("text/html;charset=GBK");
PrintWriter out = response.getWriter();

String name = request.getParameter("name");
String pwd = request.getParameter("pwd");
String jizhu = request.getParameter("jizhu");

if(jizhu != null){
Cookie mycookie = new Cookie(name,pwd);
mycookie.setMaxAge(60*60*24*7);
mycookie.setPath("/");
response.addCookie(mycookie);
}

if(name.equals("haha") && pwd.equals("123")){
out.println(name + ",您好!欢迎来到登陆页面!!");
}else{
out.println("登陆失败!!");
}

out.flush();
out.close();
}

public void init() throws ServletException {
}

}

『伍』 我用jsp做了个登录页面,想让它记住密码,下次登录时不需要再输入密码,怎样实现

使用Cookie实现。

阅读全文

与记住密码怎么实现jsp相关的资料

热点内容
软破ps3大于4g文件 浏览:722
win文件同步软件 浏览:663
华为hg8546m密码忘记 浏览:533
linux查看服务器温度 浏览:339
catia齿轮装配教程 浏览:750
文件自动备份软件 浏览:416
没网安卓苹果传文件 浏览:174
win10系统文件s 浏览:692
开始运行输入应用程序文件名 浏览:540
数字时钟程序c语言 浏览:963
浩方一般用哪个版本的魔兽 浏览:759
李涛ps基础教程1 浏览:23
angularjs复选框 浏览:242
win10sfc安全模式 浏览:71
javaword2007转html 浏览:600
推进合宪性审查工作的文件是哪个 浏览:488
文件夹可放 浏览:652
大数据爬虫可以收集什么 浏览:822
手机怎么把excel文件分享到微信 浏览:526
linux下载目录命令 浏览:685

友情链接