首先:HTML显示所有css并且无法识别:
第二:项目只运行localhost,但只是给我以下输出并且不启动端口8080:
2017-03-11 12:07:48.579 INFO 2397 --- [ main] org.hibernate.Version : HHH000412: Hibernate Core {5.0.12.Final}
2017-03-11 12:07:48.581 INFO 2397 --- [ main] org.hibernate.cfg.Environment : HHH000206: hibernate.properties not found
2017-03-11 12:07:48.582 INFO 2397 --- [ main] org.hibernate.cfg.Environment : HHH000021: Bytecode provider name : javassist
2017-03-11 12:07:48.622 INFO 2397 --- [ main] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations {5.0.1.Final}
2017-03-11 12:07:48.748 INFO 2397 --- [ main] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.H2Dialect
2017-03-11 12:07:49.046 INFO 2397 --- [ main] org.hibernate.tool.hbm2ddl.SchemaExport : HHH000227: Running hbm2ddl schema export
2017-03-11 12:07:49.047 INFO 2397 --- [ main] org.hibernate.tool.hbm2ddl.SchemaExport : HHH000230: Schema export complete
2017-03-11 12:07:49.076 INFO 2397 --- [ main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2017-03-11 12:07:49.544 INFO 2397 --- [ main] o.s.j.e.a.AnnotationMBeanExporter : Registering beans for JMX exposure on startup
2017-03-11 12:07:49.561 INFO 2397 --- [ main] com.brock.BrockApplication : Started BrockApplication in 12.875 seconds (JVM running for 13.425)
2017-03-11 12:07:49.562 INFO 2397 --- [ Thread-3] s.c.a.AnnotationConfigApplicationContext : Closing org.springframework.context.annotation.AnnotationConfigApplicationContext@21a947fe: startup date [Sat Mar 11 12:07:47 EST 2017]; root of context hierarchy
2017-03-11 12:07:49.564 INFO 2397 --- [ Thread-3] o.s.j.e.a.AnnotationMBeanExporter : Unregistering JMX-exposed beans on shutdown
2017-03-11 12:07:49.564 INFO 2397 --- [ Thread-3] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'
2017-03-11 12:07:49.565 INFO 2397 --- [ Thread-3] org.hibernate.tool.hbm2ddl.SchemaExport : HHH000227: Running hbm2ddl schema export
2017-03-11 12:07:49.565 INFO 2397 --- [ Thread-3] org.hibernate.tool.hbm2ddl.SchemaExport : HHH000230: Schema export complete
Process finished with exit code 0
文件结构:
在HomeController中我有:
@Controller()
public class HomeController {
@RequestMapping("/")
public String home(){
return "index";
}
}
JS和CSS文件路径如下所示:
<link rel="stylesheet" href="css/bootstrap.min.css">
根据文档,我把它们放在正确的位置,它应该返回index.html。
-----------------更新1 ----------------
applications.properities
spring.datasource.initialize=true
spring.datasource.url=jdbc:h2:mem:testdb;DB_CLOSE_DELAY=- 1;DB_CLOSE_ON_EXIT=FALSE
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=brock
spring.datasource.password=password
spring.h2.console.enabled=true
答案 0 :(得分:3)
导致应用程序立即关闭的问题是由使用 WAR 打包引起的,同时在IntelliJ中将应用程序作为Spring启动应用程序运行。
由于这个原因,IntelliJ不会提供必要的类(因为 spring-boot-starter-tomcat 具有范围提供),如果缺少,则Spring boot赢了不知道它应该作为Web应用程序运行,导致它立即退出。
要解决它:
评论提供的范围:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<!-- <scope>provided</scope> -->
</dependency>
当你解决第一个问题时,你还有另一个问题。您已将HTML文件放在 src / main / resources / templates 文件夹中,而此文件夹只应用于动态模板(Thymeleaf,Freemarker,Groovy,Mustache,...)。 / p>
但是,目前您的HTML文件只是简单的静态HTML文件,因此您应将它们放在 src / main / resources / static 中。如果它们不是静态HTML文件,则应添加适当的模板引擎,例如 spring-boot-starter-thymeleaf 。
如果您使用静态模板,Spring启动会自动解析/
到index.html
,因此您可以删除HomeController
。
最后,你说你正在使用以下CSS:
<link rel="stylesheet" href="css/main.css">
这是正确的方法。但是,在GitHub我发现你正在使用:
<link rel="stylesheet" href="../../resources/static/css/main.css">
这不是正确的方法。即使文件夹结构正确,在运行时,Spring引导也会在您的上下文路径根(public/
)上以templates/
运行/
。这意味着,即使您在一个文件夹中有index.html
而在另一个文件夹中有css/main.css
,它仍然有用。
答案 1 :(得分:2)
您可以使用@RestController注释注释HomeController类并再次部署您的应用
答案 2 :(得分:1)
尝试返回modlandview而不是原始字符串?
@RestController()
public class HomeController {
@RequestMapping("/")
public ModelAndView home(){
return new ModelAndView("index");
}
}
答案 3 :(得分:0)
将spring-boot-starter-web
添加到依赖项中将使嵌入式tomcat成为默认的servlet容器,默认情况下,您的应用程序将在端口8080
上公开。
摇篮:
compile("org.springframework.boot:spring-boot-starter-web")
的Maven:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
答案 4 :(得分:0)
Teena正确使用@RestController
或者如果您使用@Controller
添加@ResponseBody
注释
@Controller
@ResponseBody
@RequestMapping("/")
public class HomeController {
@RequestMapping(method = RequestMethod.GET)
public String get(){
return "index";
}
}