SpringBoot之使用外部servlet容器
嵌入式Servlet容器:应用打成可执行的jar
优点:简单、便携;
缺点:默认不支持JSP、优化定制比较复杂(使用定制器【ServerProperties、自定义EmbeddedServletContainerCustomizer】,自己编写嵌入式Servlet容器的创建工厂【EmbeddedServletContainerFactory】);
外置的Servlet容器:外面安装Tomcat—应用war包的方式打包;
步骤
1)、必须创建一个war
项目;(利用idea创建好目录结构)
2)、添加webapp
目录 : 可以手动添加, 也可以在Project Structure
中的Modules
中的Web Resource Directories
下双击红色目录自动生成, 然后在Deployment Descriptors
下添加web.xml
文件到webapp
目录下的WEB-INF
下
3)、配置外部Tomcat容器 :
4)、将嵌入式的Tomcat指定为provided;
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
5)、在springboot的配置文件中配置解析jsp
页面的路径前后缀
spring.mvc.view.prefix=/WEB-INF/
spring.mvc.view.suffix=.jsp
6)、必须编写一个SpringBootServletInitializer的子类,并调用configure方法 (这个类使用springboot时一般会自动生成)
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
//传入SpringBoot应用的主程序
return application.sources(SpringBoot04WebJspApplication.class);
}
}
7)、启动服务器就可以使用;