springboot配置拦截器,不起作用

刚在IDEA创建了一个springboot 的web项目 ,按网上配置拦截器没有效果!!!


启动springboot:run的时候加载了一次 addInterceptors(InterceptorRegistry registry)这个配置方法,但是没有进去拦截方法


访问url的时候,就没有拦截效果!!!急,求解



代码 1:

package com.example.springbootdemo;

import com.example.springbootdemo.Interceptor.LoginInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

/**
 * 配置继承WebMvcConfigurerAdapter
 * @author sam
 * @since 2017/7/16
 */
@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {

    /**
     * 自定义静态资源
     * @param registry
     */
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        //将所有/static/** 访问都映射到classpath:/static/ 目录下
        registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
    }
    /**
     * 拦截器(用户登录验证)
     * @param registry
     */
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        // addPathPatterns 用于添加拦截规则
        // excludePathPatterns 用户排除拦截
        registry.addInterceptor(new LoginInterceptor()).addPathPatterns("/**").excludePathPatterns("/user","/login");
        super.addInterceptors(registry);
    }
}

代码 2:

package com.example.springbootdemo.Interceptor;


import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class LoginInterceptor implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        boolean flag =true;
      
       System.out.print("进来了");
        return flag;
    }

    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
    }

    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
    }
}

控制层代码:


package com.example.springbootdemo.web;


import com.example.springbootdemo.entity.User;
import com.example.springbootdemo.mongodb.domain.zhsl_item_info;
import com.example.springbootdemo.mongodb.service.ItemService;
import com.example.springbootdemo.service.UserService;

import com.mongodb.MongoCredential;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

@Controller
@RequestMapping("/test")
public class TestController {

    @Autowired
    private UserService userService;
    @Autowired
    private ItemService itemService;

    @RequestMapping("")
    public String test(){
        User user=userService.queryUserName("460033199411153970");
        zhsl_item_info zhslItemInfo=itemService.queryItemData("46020000YG-XK-0102");
        return "index.jsp";

    }
    @RequestMapping("/demo")
    @ResponseBody
    public String demo(){

        return "{'status':'ok'}";

    }
}

在线等!!!!


猜你喜欢

转载自blog.csdn.net/qq_37946744/article/details/78851458