您的位置:首页 > Web前端 > JavaScript

JSP之保存Cookie实现用户注册并自动登录

2014-12-01 16:36 816 查看
这里是index.jsp的内容:

<%@ 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可以解决,未做了嘿~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: