**
拦截器:
**
实体类:
private String username;
private String password;
//@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date time;
Controller类:
@Controller
@RequestMapping("/user")
public class UserController {
@RequestMapping("/login")
public String login(String username, String password, HttpServletRequest request){
if(username.equals("admin")&&password.equals("admin")){
//将 用户信息存入session
request.getSession().setAttribute("user","admin");
return "home"; //回到前台首页
}else{
//登陆失败了 ,要回到登录页 TODO (为什么要加 斜杠)
return "redirect:/login.jsp";
}
}
}
cn.hp.interceptor.LoginInterceptor:
public class LoginInterceptor implements HandlerInterceptor {
/**
* return true : 代表放行 (已登陆)
* return false : 代表拦截
*/
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
//1. 拿到session中user
String user = (String) request.getSession().getAttribute("user");
if(StringUtils.isEmpty(user)){ //如果为空 , 要去登陆
response.sendRedirect("/login.jsp");
return false;
}else{
if(user.equals("admin")){
return true;
}else{ //非必须判断
response.sendRedirect("/login.jsp");
return false;
}
}
}
}
login.jsp页面:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>登陆页面</title>
</head>
<body>
<form action="user/login">
账号:<input type="text" name="username"><br>
密码:<input type="text" name="password"><br>
<input type="submit" value="提交"><br>
</form>
</body>
</html>
main.jsp:
<body>
登陆成功 进入 主页...
</body>