博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
购物商城---SpringMVC拦截器的使用
阅读量:6345 次
发布时间:2019-06-22

本文共 1942 字,大约阅读时间需要 6 分钟。

springmvc-front.xml

拦截器类

private SessionProvider sessionProvider;    private Integer adminId;//管理员,给开发人员用,默认注入adminId=1    //常量 拦截路径规则    private static final String INTERCEPTOR_URL = "/buyer/";    //方法前   /buyer/    //对请求路径 http://localhost:8080/buyer/index.shtml ---- /buyer/ 所请求的方法进行拦截,如果用户没有登录,    //不执行后面的方法,如果用户有登录,执行后面的方法    public boolean preHandle(HttpServletRequest request,HttpServletResponse response, Object handler) throws Exception {        // TODO Auto-generated method stub        if(adminId != null){
//开发阶段不走正常流程,默认拦截器返回都是true,不走拦截url代码 Buyer buyer = new Buyer(); buyer.setUsername("5201314"); sessionProvider.setAttribute(request, Constans.BUYER_SESSION, buyer,response); }else{ //获取用户是否登录 Buyer buyer = (Buyer) sessionProvider.getAttribute(request, Constans.BUYER_SESSION,response); boolean flag = false;//传给页面,是否隐藏登录 if(null != buyer){
//用户登录的情况 flag = true; } request.setAttribute("isLogin", flag); //请求路径 http://localhost:8080/buyer/index.shtml //getRequestURL()==http://localhost:8080/buyer/index.shtml // getRequestURI()== /buyer/index.shtml String requestURI = request.getRequestURI(); //不是以 INTERCEPTOR_URL为开头的方法都放过,是这开头的,但是用户登录了都放过 if(requestURI.startsWith(INTERCEPTOR_URL)){ //必须登陆 if(null == buyer){ response.sendRedirect("/shopping/login.shtml?returnUrl=" + request.getParameter("returnUrl")); return false;//用户没有登录,方法就不走了,调回登录页面让用户登录 } } } return true; }

流程图

这里写图片描述

转载于:https://www.cnblogs.com/feiZhou/p/9344420.html

你可能感兴趣的文章
Java中静态变量和实例变量的区别
查看>>
秋名山老司机(详解)——bugku
查看>>
RED | Robot Framework集成开发环境
查看>>
育碧同 Mozilla 联手开发 AI 代码助手
查看>>
【实用】面对枯燥的源码,如何才能看得下去?
查看>>
智库说 | 徐远:数字时代的城市潜力
查看>>
《JSP极简教程》jsp c:forEach用法
查看>>
WebSocket详解(六):刨根问底WebSocket与Socket的关系
查看>>
用 Go 写一个轻量级的 ssh 批量操作工具
查看>>
网站设计之合理架构CSS 架构CSS
查看>>
OTP 22.0 RC3 发布,Erlang 编写的应用服务器
查看>>
D语言/DLang 2.085.1 发布,修复性迭代
查看>>
感觉JVM的默认异常处理不够好,既然不好那我们就自己来处理异常呗!那么如何自己处理异常呢?...
查看>>
Java 基础 之 算数运算符
查看>>
Windows下配置安装Git(二)
查看>>
一个最简单的基于Android SearchView的搜索框
查看>>
铁路开通WiFi“钱景”不明
查看>>
成本不足15美元的设备把取款机掏空
查看>>
Nutanix领衔的超融合能带来新存储黄金时代吗?
查看>>
Facebook申请专利 或让好友及陌生人相互拼车
查看>>