gpt4 book ai didi

css - spring boot静态内容

转载 作者:行者123 更新时间:2023-11-28 03:04:35 25 4
gpt4 key购买 nike

我在使用 Spring Boot 提供静态内容时遇到问题。

我使用的是默认配置位置:src/main/resources/static/csssrc/main/resources/static/js

当页面加载时,我得到所有静态内容的 404。我什至将 permitAll 添加到我的安全设置中。

@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/css/**","/js/**").permitAll()
.antMatchers("/services/**").hasRole("PREAUTH_USER")
.antMatchers("/", "/dashboard").permitAll()
.anyRequest().authenticated()
.and()
.formLogin().loginPage("/login")
.permitAll()
.and()
.logout()
.permitAll();
}

我的资源处理程序:

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**").addResourceLocations("/");
}

...当我点击 login 时,我的 CSS 返回 404:http://localhost:8080/login

这里是响应头:

Request URL:http://localhost:8080/css/preauth.css
Request Method:GET
Status Code:404
Remote Address:[::1]:8080
Referrer Policy:no-referrer-when-downgrade
Response Headers
view source
Cache-Control:no-cache, no-store, max-age=0, must-revalidate
Content-Type:application/json;charset=UTF-8
Date:Fri, 01 Sep 2017 17:04:59 GMT
Expires:0
Pragma:no-cache
Transfer-Encoding:chunked
X-Content-Type-Options:nosniff
X-Frame-Options:DENY
X-XSS-Protection:1; mode=block
Request Headers
view source
Accept:text/css,*/*;q=0.1
Accept-Encoding:gzip, deflate, br
Accept-Language:en-US,en;q=0.8
Connection:keep-alive
Cookie:JSESSIONID=D1399529A7AD61D0FA67ECF0343D3A03
Host:localhost:8080
Referer:http://localhost:8080/login
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36

最佳答案

问题似乎是当我在我的 appConfig 类中扩展 WebMvcConfigurationSupport(我需要配置消息转换器)时,WebMvcAutoConfiguration 被禁用。所以我不得不添加

private static final String[] CLASSPATH_RESOURCE_LOCATIONS = {
"classpath:/META-INF/resources/", "classpath:/resources/",
"classpath:/static/", "classpath:/public/" };

   @Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
if (!registry.hasMappingForPattern("/webjars/**")) {
registry.addResourceHandler("/webjars/**").addResourceLocations(
"classpath:/META-INF/resources/webjars/");
}
if (!registry.hasMappingForPattern("/**")) {
registry.addResourceHandler("/**").addResourceLocations(
CLASSPATH_RESOURCE_LOCATIONS);
}

编辑:上面的代码不是必需的。我更改了我的配置类以扩展 WebMvcConfigurerAdapter 并且不需要进行上述更改。请参阅@AndyWilkinson 的以下评论

关于css - spring boot静态内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46005154/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com