拦截器

实现拦截器
1.写一个类实现拦截器 true( 放行)

import org.springframework.web.servlet.HandlerInterceptor; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; public class Logininterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { //什么情况下放行 1.有session 2.登录界面 3.第一次提交登录 HttpSession session=request.getSession(); if(session.getAttribute("userlogin")!=null){ return true; } if(request.getRequestURI().contains("goLogin")){ return true; } if(request.getRequestURI().contains("login_t")){ return true; } request.getRequestDispatcher("/WEB-INF/jsp/login.jsp").forward(request,response); return false; } }
2.在spring 配置文件中,注册这个拦截器

<mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/user/**"/> <bean class="com.ljm.config.Logininterceptor"/> </mvc:interceptor> </mvc:interceptors> <!-- url中 /user/ 后面所有的url都经过拦截筛选 --> <!-- /** 表示全部url都需要经过拦截筛选 -->
3.简单使用

@Controller @RequestMapping("/user") public class Lojin { //去登录界面 @RequestMapping("/login_t") public String login(HttpSession httpSession, String username, String password, Model model){ //用户存到session中 httpSession.setAttribute("userlogin",username); model.addAttribute("username",username); return "main"; } @RequestMapping("/logout") public String logout(HttpSession httpSession){ httpSession.removeAttribute("userlogin"); // httpSession.setAttribute("userlogin",username); return "login"; } }
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术