七天免登录
//后台代码
@RequestMapping("tologin")
public String tologin() {
return "login";
}
/**
* 登录
* @param deng
* @param request
* @param response
* @return
*/
@RequestMapping("login")
@ResponseBody
public String login(User deng,Integer ck,HttpServletRequest request,HttpServletResponse response) {
// TODO Auto-generated method stub
try {
User login = powerService.login(deng.getUname());
System.out.println(login);
if(ck!=null) {
if(login!=null) {
request.getSession().setAttribute("login", login);
if(login.getPwd().equals(deng.getPwd())) {
//放入cookie
Cookie uname = new Cookie("uname", login.getUname());
Cookie pwd = new Cookie("pwd", login.getPwd());
uname.setMaxAge(60*60*24*7);
pwd.setMaxAge(60*60*24*7);
response.addCookie(uname);
response.addCookie(pwd);
return "登录成功";
}else {
return "密码错误";
}
}else {
return "登录失败";
}
}else {
if(login!=null) {
if(login.getPwd().equals(deng.getPwd())) {
request.getSession().setAttribute("login", login);
return "登录成功";
}else {
return "密码错误";
}
}else {
return "用户名错误";
}
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return "登录失败";
}
}
//页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登录</title>
<link rel="stylesheet" href="/static/css/index_work.css">
<script type="text/javascript" src="/webjars/jquery/2.2.4/jquery.min.js"></script>
<%
Cookie[] c = request.getCookies();
String uname = "";
String pwd = "";
if(c!=null){
for(int i=0;i<c.length;i++){
if(c[i].getName().equals("uname")){
uname = c[i].getValue();
}
if(c[i].getName().equals("pwd")){
pwd = c[i].getValue();
}
}
}
%>
<script type="text/javascript">
$(function(){
$("#tj").click(function(){
uname=$("#uname").val();
pwd=$("#pwd").val();
ck=$("#ck").val();
$.post(
"login",
{uname:uname,pwd:pwd,ck:ck},
function(result){
if(result=="登录成功"){
alert(result);
location.href="tomain";
}else{
alert(result);
location.reload();
}
},"text"
);
});
});
</script>
</head>
<body>
<table>
<tr>
<td>用户名:</td>
<td><input type="text" name="uname" id="uname" value="<%=uname %>"></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="text" name="pwd" id="pwd" value="<%=pwd %>"></td>
</tr>
<tr>
<td colspan="2">记住用户名和密码<input type="checkbox" name="ck" id="ck" value="1"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="tj" id="tj" value="登录"></td>
</tr>
</table>
</body>
</html>
~~
更简便的方式:
~~
@RequestMapping("login")
@ResponseBody
public String login(User user,Integer y,HttpServletRequest request,HttpServletResponse response) throws IOException {
User user1 = service.login(user);
if(user1!=null) {
if(user1.getPassword().equals(user.getPassword())) {
**选中页面上的复选框,进行免登录**
if("y".equals(y)) {
Cookie username = new Cookie("username", user.getUsername());
username.setMaxAge(60*60*24*7);
username.setPath("/");
response.addCookie(username);
Cookie password = new Cookie("password", user.getPassword());
password.setMaxAge(60*60*24*7);
password.setPath("/");
response.addCookie(password);
}
request.getSession().setAttribute("user1", user1);
return "data";
}else {
return "password";
}
}else {
return "password";
}
}
页面上的设置
<input type="checkbox" name="y" id="y" id="dl1" value="1">
对获取到的值放入cookie中,进行后台的设置
if("$cookie.username.value"!=''&&"${cookie.password.value}"!=''){
$("#username").val("${cookie.username.value}");
$("#password").val("${cookie.password.value}");
$("#dl1").tigger("click");
}