标签:input 转发 intercept href control web pat patch let
配置
<mvc:interceptor>
<mvc:mapping path="/user/**"/>
<bean class="cn.pinked.config.LoginInterceptor"/>
</mvc:interceptor>
拦截器
public class LoginInterceptor implements HandlerInterceptor {
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
HttpSession session = request.getSession();
//已登录,放行
if (session.getAttribute("userLoginInfo") != null) {
return true;
}
//在登陆页面,放行
if (request.getRequestURI().contains("login")) {
return true;
}
//未登录,转发到登录页面
request.getRequestDispatcher("/WEB-INF/jsp/login.jsp").forward(request, response);
return false;
}
}
控制器
@Controller
@RequestMapping("/user")
public class LoginController {
//主页
@RequestMapping("/main")
public String main() {
return "main";
}
//跳转到登陆页面
@RequestMapping("/login")
public String login() {
return "login";
}
//登陆后回到主页
@RequestMapping("/userlogin")
public String login(HttpSession session, String username, String pwd, Model model) {
session.setAttribute("userLoginInfo", username);
model.addAttribute("username", username);
return "main";
}
//注销后回到登陆页面
@RequestMapping("/logout")
public String logout(HttpSession session){
session.removeAttribute("userLoginInfo");
return "login";
}
}
主页
<h1>首页</h1>
<span>${username}已登录</span>
<p>
<a href="${pageContext.request.contextPath}/user/logout">注销</a>
</p>
登陆页面
<h1>登陆页面</h1>
<form action="${pageContext.request.contextPath}/user/userlogin" method="post">
用户名:<input type="text" name="username">
密码:<input type="password" name="pwd">
<input type="submit" value="登录">
</form>
标签:input 转发 intercept href control web pat patch let
原文地址:https://www.cnblogs.com/pinked/p/12234847.html