1.
<div class="col-sm-5">
<label class="col-sm-2 control" name="username" placeholder="请输入用户名">
<span class="#"> </span>
</div>
<div class="col-sm-3" id="userTip" style="padding-top: 10px;display: none">
<label class="alert-danger">用户名不存在</label>
</div>
<div class="modal-footer">
<buttom type="button" class="btn btn-primary" value="登录" th:oncilck="|login()|">
//使用type="button" 异步登录
</div>
<script>
function login(){
var datas = $("form").serialize();
$.ajax({
url: contextPath+"/user/login",
data: datas,
method:"post",
success:function(data){
$("#userTip").css("display","none");
$("#pwdTip").css("display","none");
if(data == "success")
{
if(data==100){
$("#login").modal('hide');//关闭登录界面
alert("登录成功");
window.location.href=contextPath + "/home/index";
}else if(data==101){
$("#userTip").css("display","block");
}else{
$("#pwdTip").css("display","block");
}
}}})
}
</script>
2.登录检测
@ResponseBody
@RequestMapping("/login")
public String login(User user,HttpSession session){
return userService.loginCheck(user,session);
}
*******************
public String loginCheck(User loginuser,HttpSession session){
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("username",loginuser.getUsername);
User user = userMapper.selectOne(queryWrapper);
if(user == null){return "101";}
else{//判断密码
if(loginUser.getPassword().equals(user.getPassword())){
session.setAttribute("user",user);
return "100";//登录成了
}else{
return "102";//密码错误
}
}
}
3.根据session中的是否有用户来判断登录注销的显示
<li th:if="${session.user == null}">
<a href="#" data-toggle="modal" data-target="#loginModel">登录</a>
</li>
<li th:if="${session.user !=null}">
<a href="javascript:void(0)" th:text="${session.user.username}">名字</a>
</li>
<li th:if="${session.user !=null}">
<a href="index.html" th:href="@{/user/logout}">退出</a>
</li>
<li th:if="${session.user == null}">
<a href="#" data-toggle="modal" data-target="#loginModel">登录</a>
</li>
4.退出的实现
@RequestMapping("logout")
public String logout(HttpSession session){
session.invalidate();
return "redirected:/home/index";
}