SpringBoot:
1.Springboot启动类中main方法SpringApplication.run(SpringdemoApplication.class, args);中的类需要时是启动类本身,否则会报Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletCont错误-----待定结果;
2.Spring Boot对静态资源的默认路径进行了配置:
2.Spring Boot对静态资源的默认路径进行了配置:
ResourceProperties.calss 默认的静态资源路径
classpath:/META-INF/resources/
classpath:/resources/
classpath:/static/
classpath:/public
只要静态资源放在这些目录中任何一个,SpringMVC都会帮我们处理。
3.Springboot官方不推荐jsp模板引擎:
classpath:/resources/
classpath:/static/
classpath:/public
只要静态资源放在这些目录中任何一个,SpringMVC都会帮我们处理。
3.Springboot官方不推荐jsp模板引擎:
在tomcat上,jsp不能在嵌套的tomcat容器解析即不能在打包成可执行的jar的情况下解析 ;
Jetty 嵌套的容器不支持jsp ;
Undertow ;
4.@RestController默认就会在每个方法上加上@Responsebody,方法返回值会直接被httpmessageconverter转化,如果想直接返回视图,需要直接指定modelAndView。
5.intellij下将springboot项目打成war包发布到远程tomcat服务器上:
Jetty 嵌套的容器不支持jsp ;
Undertow ;
4.@RestController默认就会在每个方法上加上@Responsebody,方法返回值会直接被httpmessageconverter转化,如果想直接返回视图,需要直接指定modelAndView。
5.intellij下将springboot项目打成war包发布到远程tomcat服务器上:
将pom.xml中的打包方式修改为war
<groupId>com.borya</groupId> <artifactId>Project</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging>
在pom.xml中添加依赖,将scope状态修改为provided
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency>
修改src/main/java下的application启动项
SpringBootServletInitializer这个类是springboot提供的web程序初始化的入口,当我们使用外部容器运行项目时会自动加载并且装配。实现了SpringBootServletInitializer的子类需要重写一个configure方法,方法内自动根据LessontwoApplication.class的类型创建一 个SpringApplicationBuilder交付给springboot框架来完成初始化运行配置。
SpringBootServletInitializer这个类是springboot提供的web程序初始化的入口,当我们使用外部容器运行项目时会自动加载并且装配。实现了SpringBootServletInitializer的子类需要重写一个configure方法,方法内自动根据LessontwoApplication.class的类型创建一 个SpringApplicationBuilder交付给springboot框架来完成初始化运行配置。
@SpringBootApplication public class ProjectApplication extends SpringBootServletInitializer implements WebApplicationInitializer{ @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application){ return application.sources(ProjectApplication.class); } public static void main(String[] args) { SpringApplication.run(ProjectApplication.class, args); } }
注意:
①.springboot2.0版本自带的tomcat版本是8.5.X,所以自己使用的tomcat版本不能低于8.5,否则不兼容会报错
②.如果放入外部的tomcat运行,你在springboot配置文件(.properties或者.yml)里面配置的端口号是不生效的,访问的时候得用tomcat配置文件所配置的端口号。
6. 配置springboot支持jsp:
pom.xml中不能引入如下配置:
6. 配置springboot支持jsp:
pom.xml中不能引入如下配置:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
因为我引了报错了。。。。
在pom文件中添加配置:
<build> <resources> <resource> <directory>src/main/webapp</directory> </resource> </resources> </build>
还在试坑。。。