如果我在没有Spring的情况下打开html文件,则会正确加载css和js文件。但是当我将它作为Spring应用程序运行时,css和js文件没有任何效果,输出只是一个简单的html页面。
我尝试使用百日咳和正常链接添加路径,如下所示。两次尝试都没有区别,也没有错误消息。
环顾四周,建议将文件移动到静态文件夹。这也无济于事。请指教。谢谢。
项目结构
添加js和css文件的链接。自动填充功能表明我认为文件位于正确位置的正确文件。
<!--<link href='http://fonts.googleapis.com/css?family=Titillium+Web:400,300,600' rel='stylesheet' type='text/css'/>-->
<!--<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css"/>-->
<!--<link rel="stylesheet" href="../static/bootstrap/css/bootstrap.min.css"/>-->
<!--<link rel="stylesheet" href="../static/css/style.css"/>-->
<link th:href="@{http://fonts.googleapis.com/css?family=Titillium+Web:400,300,600}" rel='stylesheet' type='text/css'/>
<link th:href="@{https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css}" rel="stylesheet" type="text/css"/>
<link th:href="@{../static/bootstrap/css/bootstrap.min.css}"/>
<link th:href="@{../static/css/style.css}"/>
<script th:src="@{../static/bootstrap/js/bootstrap.min.js}" type="javascript"></script>
<script th:src="@{../static/js/jquery.min.js}" type="javascript"></script>
<script th:src="@{../static/js/index.js}" type="javascript"></script>
<!--<script src='../static/js/jquery.min.js'></script>-->
<!--<script src="../static/js/index.js"></script>-->
gradle文件
group 'com.fantasy'
version '1.0-SNAPSHOT'
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:1.5.2.RELEASE")
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'org.springframework.boot'
jar {
baseName = 'gs-securing-web'
version = '0.1.0'
}
repositories {
mavenCentral()
}
sourceCompatibility = 1.8
targetCompatibility = 1.8
dependencies {
compile("org.springframework.boot:spring-boot-starter-thymeleaf")
testCompile("junit:junit")
testCompile("org.springframework.boot:spring-boot-starter-test")
testCompile("org.springframework.security:spring-security-test")
compile("org.springframework.boot:spring-boot-starter-security")
}
MvcConfig.java
@Configuration
public class MvcConfig extends WebMvcConfigurerAdapter {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/index").setViewName("index");
registry.addViewController("/").setViewName("index");
registry.addViewController("/hello").setViewName("hello");
registry.addViewController("/login").setViewName("login");
}
}
WebSecurityConfig.java
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.csrf().disable()
.authorizeRequests()
.antMatchers("/", "/index").permitAll()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
.permitAll()
.and()
.logout()
.permitAll();
}
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth
.inMemoryAuthentication()
.withUser("user").password("password").roles("USER");
}
}
答案 0 :(得分:1)
删除链接中的“../static”,它将起作用。您的文件将映射到URL。因此,当您访问服务器时,您不会像文件系统结构那样访问它。 Spring-Boot默认定义了所需的ResourceMapping。