美文网首页
SpringMVC-MAVENWEB项目笔记02

SpringMVC-MAVENWEB项目笔记02

作者: 林深雾雨 | 来源:发表于2019-11-10 20:51 被阅读0次

    定义拦截器:只要针对于控制器

    springmvc.xml配置 路径包含admin/ 会进入 AdminController.java进行检查

    <!-- 配置拦截器 -->
        <mvc:interceptors>
            <mvc:interceptor>
                <mvc:mapping path="/admin/*" /><!-- 地址栏含有该内容 //配置拦截目录 -->
                <bean class="com.wk.utils.AdminInterceptor"></bean><!--进入该类中进行判定是否已经登录-->
            </mvc:interceptor>
        </mvc:interceptors>
    

    controller中如果没有登录 就返回登录界面 /TestSpringMVC/src/main/java/com/wk/controller/AdminController.java

    package com.wk.controller;
    
    import java.io.IOException;
    
    import javax.servlet.http.HttpServletResponse;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    @Controller
    @RequestMapping("admin")
    public class AdminController {
        @RequestMapping("/test")
        private void test(HttpServletResponse resp) {
            // TODO Auto-generated method stub
            System.out.println("admin test");
            try {
                resp.getWriter().append("{\"result\":true}");
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
    

    /TestSpringMVC/src/main/java/com/wk/utils/AdminInterceptor.java
    配置 假装登录 进行登录设置session值

    package com.wk.utils;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    
    import org.springframework.web.servlet.HandlerInterceptor;
    
    public class AdminInterceptor implements HandlerInterceptor{
        //实现这个接口 不需要重写他的方法 因为他的源码是用default默认方法体修饰  不用重写其他所有的 方法 要哪个取那个
        
        @Override
        public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
                throws Exception {
            //通过request对象得到session
            HttpSession session=request.getSession();
            String isLogin=(String) session.getAttribute("isLogin");
            
            if(isLogin!=null) {
                return true;
            }
            
            //如果isLogin字符串为空  跳转登录页面 因为没有返回值 就用重定向 
            //因为是重定向 是有客户端页面向客户端页面跳转 所以要写项目名
            response.sendRedirect("/TestSpringMVC/html/login.html");
            return false;
        }
    
    }
    

    相关文章

      网友评论

          本文标题:SpringMVC-MAVENWEB项目笔记02

          本文链接:https://www.haomeiwen.com/subject/nzaibctx.html