如何将css和js添加到spring启动应用程序中?

作者:互联网

2026-03-29

HTML教程
我尝试使用Thymeleaf在 Spring Boot中将CSS添加到我的HTML页面,在静态文件夹中添加CSS文件并以这种方式链接:

但它不起作用.

我想停止访问URL中的CSS和js,所以我将此方法添加到我的安全配置中:

@Overridepublic void configure(WebSecurity web) throws Exception {   web      .ignoring()      .antMatchers("/resources/static/**"); // #3}

任何人都可以告诉我什么是我的错误或是否需要任何配置?

.css和.js是静态资源,Spring Boot默认将它映射到/ resources / static文件夹中

例如:

style.css文件位于/resources/static/css/style.css中

如果你想通过thymeleaf访问它,请将其添加到你的html head部分:

这里只是一个观察,如果您正在使用@EnableWebMvc注释,那么您应该通过自己的配置映射静态资源.

编辑

我想停止访问URL中的CSS和js,所以我将此方法添加到我的安全配置中

所有资源都应该从浏览器访问,否则将不会加载.css和.js.

如果您只需要为经过身份验证的用户访问资源,则可以尝试以下配置:

>转到/ resources / static文件夹并创建两个子文件夹,一个用于匿名用户公共资源,另一个用于私有身份验证用户.>将所有公共资源放入/ resources / static / public文件夹.>将所有私有资源放入/ resources / static / private文件夹.>转到您的Spring Security配置类,并使用以下配置使您的/ private URL保密:.antMatchers(“/ private / **”).authenticated()和make / public可供匿名用户访问:.antMatchers(“/ public / **“).permitAll()

安全配置示例:

@Override    protected void configure(HttpSecurity http) throws Exception {        http                .authorizeRequests()                .antMatchers( "/public/**").permitAll()                .antMatchers( "/private/**").authenticated()                .anyRequest().authenticated()                .and()                .formLogin()                .loginPage("/login")                .permitAll()                .and()                .logout()                .permitAll()        ;    }}

最后尝试访问公共资源,例如,如果在公共文件夹下有style.css文件,则尝试访问它:http:// localhost:808 / public / style.css,浏览器应显示style.css内容.

当您尝试访问私有文件夹(没有身份验证)时,例如私有文件夹下有一个private.css,然后尝试它:http:// localhost:808 / private / private.css.您应该被重定向到登录页面,这意味着您应该首先登录,然后在那个春天之后将允许您访问private.css资源.

关于百里香,对于公共html页面使用公共资源是相同的方法:< link th:href =“@ {/ public / public.css}”rel =“stylesheet”/>并且对于受保护资源的用户私密场所< link th:href =“@ {/ private / syle.css}”rel =“stylesheet”/>