SpringMVC学习篇(九)
创始人
2024-01-28 15:37:20
0

SpringMVC拦截器例子

1 界面登录验证

1.1 准备工作

1.1.1 导入servlet-api依赖

org.apache.tomcatservlet-api6.0.53

1.1.2 创建员工控制类(EmpController类)

package com.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.servlet.http.HttpSession;
@Controller
@RequestMapping("emps")
public class EmpController {@RequestMapping("find")public String find(){System.out.println("查询员工");return "index";}@RequestMapping("delete")public String delete(){System.out.println("删除员工");return "index";}@RequestMapping("add")public String add(){System.out.println("添加员工");return "index";}
}

1.2 在EmpController类里面创建登录和注销方法

//注意:登录后要把用户保存在session域中,注销后需要session域中的相关数据给清除掉
@RequestMapping("login")public String login(HttpSession session){session.setAttribute("users", "张三");return "index";}
@RequestMapping("logout")public String logout(HttpSession session){session.removeAttribute("users");return "index";}

1.3 创建登录拦截类(LoginInterceptor)

package com.interceptor;import org.springframework.web.servlet.HandlerInterceptor;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;public class LoginInterceptor implements HandlerInterceptor {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {Object users = request.getSession().getAttribute("users");if(users==null){System.out.println("被登录拦截器拦截了");request.setAttribute("msg", "请先登录");request.getRequestDispatcher("/index.jsp").forward(request, response);return false;}return true;}
}

1.4 在主配置文件SpringMvc2.xml里面进行拦截器的配置



1.5 编写首页index.jsp页面

<%--Created by IntelliJ IDEA.User: SSS翱翔万里Date: 2022/11/13Time: 15:52To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>

Title

进入了首页

消息:${msg}
${users==null ?'未登录':'已登录 用户:'}${users}登录注销
查询用户删除用户添加用户

1.6 测试运行截图

1.6.1 未登录时点击删除用户

a 点击前

在这里插入图片描述

b 点击后

在这里插入图片描述

c 控制台信息截图

在这里插入图片描述

1.6.2 已登录时点击删除用户

a 点击前

在这里插入图片描述

b 点击后

在这里插入图片描述

c 控制台信息截图

在这里插入图片描述

1.6.3 未登录时点击查询用户

a 点击前

在这里插入图片描述

b 点击后

在这里插入图片描述

c 控制台信息截图

在这里插入图片描述

1.6.4 已登录时点击查询用户

a 点击前

在这里插入图片描述

b 点击后

在这里插入图片描述

c 控制台信息截图

在这里插入图片描述

1.6.5 未登录时点击添加用户

a 点击前

在这里插入图片描述

b 点击后

在这里插入图片描述

c 控制台信息截图

在这里插入图片描述

1.6.6 已登录时点击添加用户

a 点击前

在这里插入图片描述

b 点击后

在这里插入图片描述

c 控制台信息截图

在这里插入图片描述

相关内容

热门资讯

未来一周两轮降雨过程接连来袭,...   连日来,我国多地出现强降雨天气。  监测显示,昨日,京津冀、山西及广东、广西云南等地部分地区出现...
广东、广西、云南等地多条河流发...   记者从水利部了解到,8月19日,辽宁南部、河北中部、北京、天津、山西中部、甘肃西部、广东东部、福...
阿富汗西部交通事故遇难人数升至...   当地时间20日,阿富汗临时政府内政部发言人表示,19日晚该国西部赫拉特省发生的交通事故已致79人...
江西彭泽万亩再生稻迎头茬收割   初秋时节,正值再生稻成熟季节,江西九江市彭泽县万亩再生稻迎来头茬收割期,当地抢抓晴好天气,开镰收...
北京九成地铁站实现50米内公交...   值中国与尼泊尔建交70周年暨第八个中国医师节之际,第16批中国援尼医疗队、中国骨髓移植专家项目组...
云南省大理州委常委、大理市委书...   新华社昆明8月20日电 云南省纪委监委20日通报,云南省大理州委常委、大理市委书记字德海涉嫌严重...
​递延所得税资产的可抵扣暂时性... 递延所得税资产的可抵扣暂时性差异判断在企业财务会计中,所得税核算是一项复杂且重要的任务。其中,可抵扣...
阅兵各项准备基本完成 按照阅兵...   阅兵各项准备基本完成,按照阅兵式、分列式2个步骤进行,时长约70分钟,编设45个方(梯)队。(来...
钟南山:我年届90还不觉得自己... 8月20日,中国工程院院士钟南山在《人民日报》第20版刊文《人的一生,总要留下点什么》。 钟南山说:...
摆摊卖气球的“袖珍妈妈”今天又...   8月19日,安徽合肥。中国好人、摆摊卖气球的“袖珍妈妈”彭霞来到希望工程安徽捐助中心,再次捐赠3...