美文网首页
Spring boot 学习记录(无法加载静态资源)

Spring boot 学习记录(无法加载静态资源)

作者: CodeRambler | 来源:发表于2018-07-25 17:40 被阅读49次

    无法加载静态资源问题

    如果你的配置文件没有问题,那么多半就是你拦截规则的问题我的拦截规则是:
    addInterceptor.addPathPatterns("/**");
    这里拦截了所有的 URL,所以静态资源 localhost:8080/css/xx.css 等静态资源也被拦截了。
    拦截规则问题

    package com.heoclark.webapp.security;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.web.servlet.config.annotation.InterceptorRegistration;
    import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
    import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
    import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
    @Configuration
    public class WebSecurityConfig extends WebMvcConfigurerAdapter{
        /**
         * 登录session key
         */
        public final static String SESSION_KEY = "user";
    
        @Bean
        public SecurityInterceptor getSecurityInterceptor() {
            return new SecurityInterceptor();
        }
    
        public void addInterceptors(InterceptorRegistry registry) {
            InterceptorRegistration addInterceptor = registry.addInterceptor(getSecurityInterceptor());
            // 排除配置
    //        addInterceptor.excludePathPatterns("/error");
            addInterceptor.excludePathPatterns("/login**");
            // 拦截配置
            // 这里 /** 相当于拦截了所有URL,包括 localhost:8080/css/xxx.css。所以拦截规则是有问题的
            addInterceptor.addPathPatterns("/**");    
    
        }
    
        private class SecurityInterceptor extends HandlerInterceptorAdapter {
            @Override
            public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
                HttpSession session = request.getSession();
                if (session.getAttribute(SESSION_KEY) != null)
                    return true;
                // 跳转登录
                String url = "/login";
                response.sendRedirect(url);
                return false;
            }
        }
    }
    

    相关文章

      网友评论

          本文标题:Spring boot 学习记录(无法加载静态资源)

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