session cookie 参考:
https://blog.csdn.net/liu_wenbin/article/details/59531184
https://blog.csdn.net/a754895/article/details/82632747
https://www.cnblogs.com/Asdin/p/5867127.html
serviceimpl:
/*
* 登录信息验证(是否存在用户名)
*/
@Override
public Integer selectUserLoginName(String userName) {
String sql = "select count(ULOGIN) from t_sys_user where ULOGIN = ?";
Integer result = jdbcTemplate.queryForObject(sql,Integer.class,userName);
return result;
}
/*
* 登录信息验证(密码是否正确)
*/
@Override
public LoginUserMg selectUserLoginPw(String userName) {
String sql = "select * from t_sys_user where ULOGIN = ?";
RowMapper<LoginUserMg> rowMapper=new BeanPropertyRowMapper<LoginUserMg>(LoginUserMg.class);
LoginUserMg loginUserMg = jdbcTemplate.queryForObject(sql,rowMapper,userName);
System.out.println(loginUserMg);
return loginUserMg;
}
controller:
/**
* 用户登录验证(用户名存入session)
*/
@RequestMapping(value = "/logins")
@ResponseBody
public Map<String, String> logins(String userName,String userPassword,HttpServletRequest req,HttpServletResponse response) {
Map<String, String> mapsMap = new HashMap<String, String>();
Integer res = userservice.selectUserLoginName(userName);
//判断用户名是否存在
if (res==1) {
LoginUserMg loginUserMg = userservice.selectUserLoginPw(userName);
//判断密码是否正确
if (loginUserMg.getUPW().equals(userPassword)) {
//创建cookie对象
Cookie nameCookie = new Cookie("usernames", userName);
Cookie pwdCookie = new Cookie("password", userPassword);
nameCookie.setMaxAge(3600);
pwdCookie.setMaxAge(3600);
//传输cookie
response.addCookie(nameCookie);
response.addCookie(pwdCookie);
// 1.获得session
HttpSession session = req.getSession();
session.setAttribute("uname", userName);
mapsMap.put("result","true");
}else {
mapsMap.put("result","false");
}
}else {
mapsMap.put("result","false");
}
return mapsMap;
}
/**
* 获取session
*/
@RequestMapping(value = "/selectSession")
@ResponseBody
public Map<String, String> selectSession(HttpServletRequest request) {
Map<String, String> mapsMap = new HashMap<String, String>();
HttpSession session = request.getSession(false);
String loginName = (String)session.getAttribute("uname");
for (Cookie Cookies : request.getCookies()) {
if (Cookies.getName().equals("usernames")) {
mapsMap.put("cookie1", Cookies.getValue());
}
if (Cookies.getName().equals("password")) {
mapsMap.put("cookie2", Cookies.getValue());
}
}
mapsMap.put("sessions",loginName);
return mapsMap;
}
html(提供借鉴):
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>H+ 后台主题UI框架 - 登录</title>
<meta name="keywords" content="H+后台主题,后台bootstrap框架,会员中心主题,后台HTML,响应式后�?">
<meta name="description" content="H+是一个完全响应式,基于Bootstrap3�?新版本开发的扁平化主题,她采用了主流的左右两栏式布局,使用了Html5+CSS3等现代技�?">
<link rel="shortcut icon" href="favicon.ico"> <link href="../static/css/bootstrap.min.css?v=3.3.6" rel="stylesheet">
<link href="../static/css/font-awesome.css?v=4.4.0" rel="stylesheet">
<link href="../static/css/animate.css" rel="stylesheet">
<link href="../static/css/style.css?v=4.1.0" rel="stylesheet">
<!--[if lt IE 9]>
<meta http-equiv="refresh" content="0;ie.html" />
<![endif]-->
<script>if(window.top !== window.self){ window.top.location = window.location;}</script>
</head>
<body class="gray-bg">
<div class="middle-box text-center loginscreen animated fadeInDown">
<div>
<div>
<h1 class="logo-name">H+</h1>
</div>
<h3>欢迎使用 H+</h3>
<form class="m-t" role="form" action="index.html">
<div class="form-group">
<input id="userName" type="email" class="form-control" placeholder="用户名" required="" >
</div>
<div class="form-group">
<input id="userPassword" type="password" class="form-control" placeholder="密码" required="">
</div>
<button onclick="loginUser()" class="btn btn-primary block full-width m-b">登陆</button>
</form>
</div>
</div>
<!-- 全局js -->
<script src="../static/js/jquery.min.js?v=2.1.4"></script>
<script src="../static/js/bootstrap.min.js?v=3.3.6"></script>
<script src="../static/js/logins.js"></script>
<script type="text/javascript" src="http://tajs.qq.com/stats?sId=9051096" charset="UTF-8"></script>
<!--统计代码,可删除-->
<script type="text/javascript">
function loginUser() {
var userName = $("#userName").val();
var userPassword = $("#userPassword").val();
$.ajax({
url : "../User/logins?userName="+userName+"&userPassword="+userPassword,
type : "post",
dataType : "json",
async : false,
contentType : 'application/x-www-form-urlencoded;charset=UTF-8',
success : function(data) {
if (data.result=="true") {
alert("登录成功");
//跳转
window.location.href="impsky";
} else {
alert("用户名密码错误");
}
},
error : function(msg) {
alert("ajax连接异常:" + msg);
}
});
}
</script>
</body>
</html>