短视频软件开发,当用户选择免打扰时,平台自行拦截平台内部消息

短视频软件开发,当用户选择免打扰时,平台自行拦截平台内部消息实现的相关代码

用户控制器

UserInfoController 定义

 


@Controller
@RequestMapping("/userInfo")
public class UserInfoController {
    /**
     * 用户登录
     * @return
     */
    @RequestMapping("/login")
    public ModelAndView userLogin(HttpSession session){
        System.out.println("用户登录...");
        ModelAndView mv = new ModelAndView();
// 设置视图
        mv.setViewName("success");
// 用户登录后,设置对应的session域对象
        User user = new User();
        user.setId(1);
        user.setUsername("admin");
        user.setUserpwd("123456");
        session.setAttribute("user",user);
        return mv;
    }
    /**
     * 用户添加
     * @return
     */
    @RequestMapping("/add")
    public ModelAndView userAdd(){
        System.out.println("用户添加...");
        ModelAndView mv = new ModelAndView();
// 设置视图
        mv.setViewName("success");
        return mv;
    }
/**
 * 用户修改
 * @return
 */
@RequestMapping("/update")
public ModelAndView userUpdate(){
    System.out.println("用户更新...");
    ModelAndView mv = new ModelAndView();
// 设置视图
    mv.setViewName("success");
    return mv;
}
    /**
     * 用户删除
     * @return
     */
    @RequestMapping("/delete")
    public ModelAndView userDelete(){
        System.out.println("用户删除...");
        ModelAndView mv = new ModelAndView();
// 设置视图
        mv.setViewName("success");
        return mv;
    }
}

​success.jsp 定义

 

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<h3>欢迎登录!</h3>
</body>
</html>

非法请求拦截器定义

LoginInterceptor 定义

 


**
 * 在 目标方法执行前 执行
 * @param request
 * @param response
 * @param handler
 * @return
 * * @throws Exception
 * */
 @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
     // 获取 session 域对象中的user对象
         User user= (User) request.getSession().getAttribute("user");
// 判断session域对象中的 user 是否为空
         if(null == user){ // 如果为空,表示用户未登录
// 拦截用户跳转到登录页面
             response.sendRedirect(request.getContextPath() + "/login.jsp");
// 不执行目标方法
             return false;
         }
// 用户已登录,执行目标方法
         return true;
     }
 }

servlet-context.xml 配置

 


  <!-- 拦截所有请求 -->
    <mvc:interceptors>
        <mvc:interceptor>
            <!-- 拦截所有请求 -->
            <mvc:mapping path="/**" />
            <!-- 放行用户登录请求 -->
            <mvc:exclude-mapping path="/userInfo/login"/>
            <!--目标拦截器-->
            <bean class="com.liuyang.controller.LoginInterceptor" />
        </mvc:interceptor>
    </mvc:interceptors>

 

以上就是 短视频软件开发,当用户选择免打扰时,平台自行拦截平台内部消息实现的相关代码,更多内容欢迎关注之后的文章

 

posted @ 2022-01-25 14:13  云豹科技-苏凌霄  阅读(37)  评论(0编辑  收藏  举报