短视频软件开发,当用户选择免打扰时,平台自行拦截平台内部消息
短视频软件开发,当用户选择免打扰时,平台自行拦截平台内部消息实现的相关代码
用户控制器
UserInfoController 定义
1 | <br>@Controller<br>@RequestMapping( "/userInfo" )<br> public class UserInfoController {<br> /**<br> * 用户登录<br> * @return<br> */ <br> @RequestMapping( "/login" )<br> public ModelAndView userLogin(HttpSession session){<br> System.out.println( "用户登录..." );<br> ModelAndView mv = new ModelAndView();<br> // 设置视图<br> mv.setViewName("success");<br>// 用户登录后,设置对应的session域对象<br> User user = new User();<br> user.setId(1);<br> user.setUsername("admin");<br> user.setUserpwd("123456");<br> session.setAttribute("user",user);<br> return mv;<br> }<br> /**<br> * 用户添加<br> * @return<br> */<br> @RequestMapping("/add")<br> public ModelAndView userAdd(){<br> System.out.println("用户添加...");<br> ModelAndView mv = new ModelAndView();<br>// 设置视图<br> mv.setViewName("success");<br> return mv;<br> }<br>/**<br> * 用户修改<br> * @return<br> */<br>@RequestMapping("/update")<br>public ModelAndView userUpdate(){<br> System.out.println("用户更新...");<br> ModelAndView mv = new ModelAndView();<br>// 设置视图<br> mv.setViewName("success");<br> return mv;<br>}<br> /**<br> * 用户删除<br> * @return<br> */<br> @RequestMapping("/delete")<br> public ModelAndView userDelete(){<br> System.out.println("用户删除...");<br> ModelAndView mv = new ModelAndView();<br>// 设置视图<br> mv.setViewName("success");<br> return mv;<br> }<br>} |
success.jsp 定义
1 | <%@ page contentType= "text/html;charset=UTF-8" language= "java" %><br><html><br><head><br><title>Title</title><br></head><br><body><br><h3>欢迎登录!</h3><br></body><br></html> |
非法请求拦截器定义
LoginInterceptor 定义
1 | <br>**<br> * 在 目标方法执行前 执行<br> * @param request<br> * @param response<br> * @param handler<br> * @ return <br> * * @throws Exception<br> * */<br> @Override<br> public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {<br> // 获取 session 域对象中的user对象<br> User user= (User) request.getSession().getAttribute("user");<br>// 判断session域对象中的 user 是否为空<br> if(null == user){ // 如果为空,表示用户未登录<br>// 拦截用户跳转到登录页面<br> response.sendRedirect(request.getContextPath() + "/login.jsp");<br>// 不执行目标方法<br> return false;<br> }<br>// 用户已登录,执行目标方法<br> return true;<br> }<br> } |
servlet-context.xml 配置
1 | <br> <!-- 拦截所有请求 --><br> <mvc:interceptors><br> <mvc:interceptor><br> <!-- 拦截所有请求 --><br> <mvc:mapping path= "/**" /><br> <!-- 放行用户登录请求 --><br> <mvc:exclude-mapping path= "/userInfo/login" /><br> <!--目标拦截器--><br> <bean class = "com.liuyang.controller.LoginInterceptor" /><br> </mvc:interceptor><br> </mvc:interceptors> |
以上就是 短视频软件开发,当用户选择免打扰时,平台自行拦截平台内部消息实现的相关代码,更多内容欢迎关注之后的文章
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现