拦截器

 

实现拦截器

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;

    }
}
View Code
复制代码

2.在spring 配置文件中,注册这个拦截器

复制代码
    <mvc:interceptors>
        <mvc:interceptor>
            <mvc:mapping path="/user/**"/>
            <bean class="com.ljm.config.Logininterceptor"/>
        </mvc:interceptor>
    </mvc:interceptors>

<!-- url中 /user/ 后面所有的url都经过拦截筛选 -->

<!--  /** 表示全部url都需要经过拦截筛选 -->
View Code
复制代码

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";
    }
}
View Code
复制代码

 

posted @   磕伴  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示