JSP之保存Cookie实现用户注册并自动登录
2014-12-01 16:36
816 查看
这里是index.jsp的内容:
下面的是show.jsp的内容:
还有一些小bug,用js可以解决,未做了嘿~
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ page import="java.net.URLEncoder"%> <%@ page import="java.net.URLDecoder"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>首页</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> <script type="text/javascript"> function save(){ var questionvalue=''; var likevalue=''; var sexvalue=""; var like=document.form1.like1; var sex=document.form1.sex; var ids = document.getElementsByName("cookie"); //获取爱好兴趣 for(var i = 0 ;i<like.length;i++) { if(like[i].checked) { likevalue+=like[i].value; likevalue+=' '; } } //获取性别 for(var b = 0 ;b<sex.length;b++) { if(sex[b].checked) { sexvalue=sex[b].value; } } //获取下拉框的值 for(var j = 0 ;j<form1.select1.options.length;j++) { if(form1.select1.options[j].selected){ questionvalue=form1.select1.options[j].text; } } //判断多选框是否被选中 for(var i=0;i<ids.length;i++){ if(ids[i].checked){ form1.submit(); //window.location.href="show.jsp"; } else document.write("注册成功!你注册的用户信息为:<br>"+"用户名:"+form1.textfield.value+"<br>性别:"+sexvalue+"<br>密码:"+form1.textfield2.value+"<br>邮箱:"+form1.textfield3.value+"<br>爱好:"+likevalue+"<br>验证问题:"+questionvalue+"<br>回答:"+form1.textfield4.value); } } </script> </head> <body> <% String username1new=""; String sex1new=""; String pwd1new=""; String Email1new=""; String likenew1new=""; String question1new=""; String answer1new=""; Cookie[] cookies=request.getCookies(); if(cookies!=null){ for(int i=0;i<cookies.length;i++){ if(cookies[i].getName().equals("VipNumber")){ username1new=URLDecoder.decode(cookies[i].getValue().split("#")[0],"UTF-8"); sex1new=URLDecoder.decode(cookies[i].getValue().split("#")[1],"UTF-8"); pwd1new=URLDecoder.decode(cookies[i].getValue().split("#")[2],"UTF-8"); Email1new=URLDecoder.decode(cookies[i].getValue().split("#")[3],"UTF-8"); likenew1new=URLDecoder.decode(cookies[i].getValue().split("#")[4],"UTF-8"); question1new=URLDecoder.decode(cookies[i].getValue().split("#")[5],"UTF-8"); answer1new=URLDecoder.decode(cookies[i].getValue().split("#")[6],"UTF-8"); } } } if("".equals(username1new)&&"".equals(sex1new)){ out.println("这是您第一次登陆"); %> <form name="form1" method="post" action="show.jsp"> <table width="544" height="242" border="1"> <tr> <td colspan="2">注册会员</td> </tr> <tr> <td>用户名:</td> <td><label for="textfield"></label> <input type="text" name="textfield" id="textfield" /></td> </tr> <tr> <td>性别:</td> <td> <input type="radio" name="sex" id="male" value="男" checked="checked"/>男 <input type="radio" name="sex" id="female" value="女" />女 </td> </tr> <tr> <td>密码:</td> <td><label for="textfield2"></label> <input type="password" name="textfield2" id="textfield2" /></td> </tr> <tr> <td>邮箱:</td> <td><label for="textfield3"></label> <input type="text" name="textfield3" id="textfield3" /></td> </tr> <tr> <td>兴趣爱好:</td> <td> <input type="checkbox" name="like1" id="like1" value="看书" />看书 <input type="checkbox" name="like1" id="like1" value="听歌" />听歌 <input type="checkbox" name="like1" id="like1" value="英雄联盟" />英雄联盟 <input type="checkbox" name="like1" id="like1" value="溜冰" />溜冰 </td> </tr> <tr> <td>验证问题:</td> <td> <select name="select1" id="select1"> <option id="option1" >你的家乡在哪里?</option> <option id="option1" >你的第一条宠物名字?</option> <option id="option1" >你的生日是哪一天?</option> <option id="option1" >曾亚城帅吗?</option> </select> </td> </tr> <tr> <td>回答:</td> <td><label for="textfield4"></label> <input type="text" name="textfield4" id="textfield4" maxlength="20"/></td> </tr> <tr> <td colspan="2"><input type="checkbox" name=cookie>保存cookie</td> </tr> <tr> <td><input type="button" name="button" id="button" value="注册会员" onclick="save()"/></td> <td></td> </tr> </table> </form> <% } else{ out.println("您好,您已注册过,这是您的注册信息:<br>您的用户名:"+username1new+"<br>密码:"+pwd1new+"<br>性别:"+sex1new+"<br>邮箱是:"+Email1new+"<br>兴趣:"+likenew1new+"<br>验证问题:"+question1new+"<br>回答:"+answer1new); } %> </body> </html>
下面的是show.jsp的内容:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <%@ page import="java.net.URLEncoder" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'deal.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <% String likenew=""; String like[]=request.getParameterValues("like1"); if(request.getParameter("like1")!=null){ for(int i=0;i<like.length;i++){ like[i]=new String(like[i].getBytes("ISO-8859-1"),"utf-8"); likenew+=like[i]; likenew+=" "; } } String username=new String(request.getParameter("textfield").getBytes("ISO-8859-1"),"UTF-8"); String pwd=request.getParameter("textfield2").toString(); String Email=request.getParameter("textfield3").toString(); String sex=new String(request.getParameter("sex").getBytes("ISO-8859-1"),"UTF-8"); String question=new String(request.getParameter("select1").getBytes("ISO-8859-1"),"UTF-8"); String answer=new String(request.getParameter("textfield4").getBytes("ISO-8859-1"),"UTF-8"); out.println(username+"<br>"); out.println(Email+"<br>"); out.println(sex+"<br>"); out.println(likenew+"<br>"); out.println(Email+"<br>"); out.println(question+"<br>"); out.println(answer+"<br>"); %> <% String username1=URLEncoder.encode(username,"UTF-8"); String pwd1=URLEncoder.encode(pwd,"UTF-8"); String sex1=URLEncoder.encode(sex,"UTF-8"); String Email1=URLEncoder.encode(Email,"UTF-8"); String question1=URLEncoder.encode(question,"UTF-8"); String answer1=URLEncoder.encode(answer,"UTF-8"); String likenew1=URLEncoder.encode(likenew,"UTF-8"); Cookie cookie=new Cookie("VipNumber",username1+"#"+sex1+"#"+pwd1+"#"+Email1+"#"+likenew1+"#"+question1+"#"+answer1); cookie.setMaxAge(30); response.addCookie(cookie); %> <script type="text/javascript"> window.location.href="index.jsp"; </script> </body> </html>
还有一些小bug,用js可以解决,未做了嘿~
相关文章推荐
- asp.net利用cookie保存用户密码实现自动登录的方法
- asp.net利用cookie保存用户密码实现自动登录的方法
- 使用COOKIE对像实现保存用户基本信息(结合Session),ASP.Net实现用户登录全过程
- 在jsp中用bean和servlet联合实现用户注册、登录
- JSP通过Cookie实现自动登录
- jsp通过Cookie实现自动登录
- JSP 通过Session和Cookie实现网站自动登录
- \t\tJSP实现用户自动登录
- 在jsp中用bean和servlet联合实现用户注册、登录
- 在jsp中用bean和servlet联合实现用户注册、登录
- jsp通过Cookie实现自动登录
- jsp通过Cookie实现网站自动登录
- cookie保存user数据及cookie实现自动登录
- cookie入门理解--自动填写用户登录信息的实现原理
- php中使用cookie来保存用户登录信息的实现代码
- JSP+JavaBean+Servlet技术实现某网站用户注册和登录功能
- asp.net cookie 实现 记录用户登录状态,下次自动登录
- 用户自动登录的jsp实现
- 使用cookie,session,filter等技术实现用户自动登录
- 利用JSP+JS+CSS+Servlet实现用户登录,保存用户名密码功能