1自动登陆的html页面
<!DOCTYPE html>
<html>
<head>
<title>First.html</title>
<meta charset="UTF-8" />
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
</head>
<body>
<h1>登陆</h1>
<form action="LoginServerlet" method="post">
用户名:<input type="text" name="stname"/><br>
密码:<input type="password" name="stpassname"/><br>
<input type="checkbox" name="auto" value="1">自动登陆 <br>
验证码<img src="YanZhengMa" onclick="changeImg(this)"/>
<input type=text name="cod">
<br><input type="submit" value="登陆" />
</form>
</body>
<script type="text/javascript">
function changeImg(obj){
obj.src="YanZhengMa?t="+Math.random();
}
</script>
</html>
2自动登陆的验证Servlet
public class AutoLoginServlet extends HttpServlet {
UserService userService=new UserService();
/**
完成自动登录 /autologin
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//获取Cookie数据,如果没有则sz=null;Cookie中存入的是用户名和密码
Cookie sz[]= request.getCookies();
String name=null;
String pass=null;
//如果数组不为null,则循环遍历数组
for(int i=0;sz!=null&&i<sz.length;i++){
//获取匹配到的用户名和密码
//将获取到的值,赋值给定义的name变量,或paa变量
if(sz[i].getName().equals("name")){
name=sz[i].getValue();
}
if(sz[i].getName().equals("pass")){
pass=sz[i].getValue();
}
}
//将获取到的name和pass去登录验证
boolean ok = userService.login(name, pass);
if(ok){ //成功就去首页
response.sendRedirect("index.jsp");
}else{ //如果不成功则跳转登陆界面
response.sendRedirect("login.html");
}
}
3如果登陆成功,则会种下Cookie,Servlet实现页面
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setCharacterEncoding("utf-8");
request.setCharacterEncoding("utf-8");
//接收网页的信息
String name=request.getParameter("stname");
String pass=request.getParameter("stpass");
String auto=request.getParameter("auto");
//传递验证用户名密码.
boolean ok=userService.login(name,pass);
if(ok){ //成功就去首页
//你是否勾选自动登陆
if(auto!=null){
//如果勾选,则设置Cookie值,然后传递
Cookie c1=new Cookie("name", name);
Cookie c2=new Cookie("pass", pass);
c1.setMaxAge(3600*24*7);
c2.setMaxAge(3600*24*7);
response.addCookie(c1);
response.addCookie(c2);
}
response.sendRedirect("index.jsp");
}else{
response.sendRedirect("login.html");
}
}