gpt4 book ai didi

java - Spring资源返回空白html页面

转载 作者:行者123 更新时间:2023-12-02 02:24:35 24 4
gpt4 key购买 nike

我无法在 thymeleaf 页面中加载资源(如 .css .js)。它们返回 200,但返回为空 html 文件。我在控制台中看到此错误

Uncaught SyntaxError: Unexpected token < bootstrap.min.js

因为正如我所说,它返回空白 html。如果我在浏览器(localhost/js/bootstrap.min.js)上打开此资源,我会得到此页面

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>

</body>
</html>

Web安全配置

@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers(
"/",
"/js/**",
"/css/**",
"/img/**",
"/charts/**",
"/images/**",
"/jquery.cookie/**",
"/fonts/**",
"/font-awesome/**",
"/bootstrap/**",
"/webjars/**").permitAll()
.antMatchers("/dashboard/**").hasRole("ADMIN")
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
.permitAll()
.and()
.logout()
.invalidateHttpSession(true)
.clearAuthentication(true)
.logoutRequestMatcher(new AntPathRequestMatcher("/logout"))
.logoutSuccessUrl("/login?logout")
.permitAll()
.and()
.exceptionHandling()
.accessDeniedHandler(accessDeniedHandler);

docker-compose

    nginx:
container_name: some-nginx
image: nginx:1.13
restart: always
ports:
- 80:80
- 443:443
volumes:
- ./nginx/conf.d:/etc/nginx/conf.d
depends_on:
- app
networks:
- postgres-compose-network

postgresql:
container_name: psql_db
image: postgres:11.4
volumes:
- psql_db:/var/lib/postgresql/data
environment:
- POSTGRES_PASSWORD=passwd
- POSTGRES_USER=commegram_user
- POSTGRES_DB=commegram_db
- PGDATA=/var/lib/postgresql/data
ports:
- "15432:5432"
networks:
- postgres-compose-network
app:
restart: always
build: .
working_dir: /app
volumes:
- ./:/app
expose:
- "8080"
- "8081"
command: mvn clean spring-boot:run
depends_on:
- postgresql
networks:
- postgres-compose-network


volumes:
psql_db: {}

networks:
postgres-compose-network:
driver: bridge

资源树

 src/main/resources/
├── application.properties
├── static
│   ├── bootstrap
│   │   ├── bootstrap.min.css
│   │   └── bootstrap.min.js
│   ├── charts
│   │   └── Chart.min.js
│   ├── css
│   │   ├── custom.css
│   │   ├── custom.min.css
│   │   ├── font.css
│   │   ├── main.css
│   │   └── style.default.css
│   ├── font-awesome
│   │   ├── font-awesome.min.css
│   │   └── fonts
│   │   ├── FontAwesome.otf
│   │   ├── fontawesome-webfont.eot
│   │   ├── fontawesome-webfont.svg
│   │   ├── fontawesome-webfont.ttf
│   │   ├── fontawesome-webfont.woff
│   │   └── fontawesome-webfont.woff2
│   ├── fonts
│   │   ├── dark-dashboard.eot
│   │   ├── dark-dashboard.svg
│   │   ├── dark-dashboard.ttf
│   │   ├── dark-dashboard.woff
│   │   ├── fontawesome-webfont.ttf
│   │   ├── fontawesome-webfont.woff
│   │   └── fontawesome-webfont.woff2
│   ├── images
│   │   ├── american-express.png
│   │   ├── cropper.jpg
│   │   ├── img.jpg
│   │   ├── inbox.png
│   │   ├── mastercard.png
│   │   ├── media.jpg
│   │   ├── paypal.png
│   │   ├── picture.jpg
│   │   ├── prod-1.jpg
│   │   ├── prod-2.jpg
│   │   ├── prod-3.jpg
│   │   ├── prod-4.jpg
│   │   ├── prod-5.jpg
│   │   ├── user.png
│   │   └── visa.png
│   ├── img
│   │   ├── avatar-6.jpg
│   │   └── favicon.ico
│   ├── jquery.cookie
│   │   └── jquery.cookie.js
│   └── js
│   ├── charts-home.js
│   ├── custom.js
│   ├── custom.min.js
│   └── front.js
├── templates
│   ├── dashboard.html
│   ├── fragments
│   │   ├── fragment-footer-content.html
│   │   ├── fragment-menu-footer-buttons.html
│   │   ├── fragment-menu-profile-quick-info.html
│   │   ├── fragment-sidebar-menu.html
│   │   ├── fragment-top-navigation.html
│   │   └── layout.html
│   ├── index.html
│   ├── login-default.html
│   ├── login.html
│   └── registration.html
└── validation.properties

最佳答案

我认为你的问题是

.antMatchers(
"/",
"/js/**",
"/css/**",
"/img/**",
"/charts/**",
"/images/**",
"/jquery.cookie/**",
"/fonts/**",
"/font-awesome/**",
"/bootstrap/**",
"/webjars/**").permitAll()

请删除此代码并添加一个额外的方法void configure(WebSecurity web),如下所示

@Override
public void configure(WebSecurity web) throws Exception {
web.ignoring()
.antMatchers(
"/js/**",
"/css/**",
"/img/**",
"/charts/**",
"/images/**",
"/jquery.cookie/**",
"/fonts/**",
"/font-awesome/**",
"/bootstrap/**",
"/webjars/**"
);
}

希望它能解决您的问题...

关于java - Spring资源返回空白html页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57261785/

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