本文目录:
Spring Boot 默认使用的是嵌入式 Tomcat 容器,默认是将项目打成 jar 包的方式运行。我们只需要通过
java -jar xxx.jar
命令的方式直接运行即可。这种方式运行的优缺点如下:
- 优点:简单,快速;
- 缺点:默认不支持 JSP 开发,优化 Tomcat 容器比较复杂(如何修改:请参考Spring Boot 修改嵌入式 Servlet 容器配置)
在使用 Spring Boot 开发项目时,如果选择使用外置的 Servlet 容器,那么首先需要先安装一个Tomcat,然后我们就可以将应用打成 war包的方式运行。
接下来就以 Intellij IDEA 的方式,来创建一个 Spring Boot 项目,并设置打包方式为 war 包。
1.选择以 Spring Initializr 的方式创建项目
2.选择打 war 包的方式
3.选择一个 Spring Web模块,省去我们自己配置。
4.创建 web.xml 配置文件
Spring Boot 工程默认是没有 web.xml 配置文件的,我们可以自己创建。使用快捷键Ctrl + Alt + Shift + S
或者File Structure…
,选择Module
来创建web.xml
5.此处以 JSP 为例,需要配置视图解析路径
我们在 application.yml/application.properties 全局配置文件中,配置视图所在位置。本例将xxxx.jsp
文件放在/WEB-INF/目录下。配置文件如下:
spring.mvc.view.prefix=/WEB-INF/
spring.mvc.view.suffix=.jsp
6.IDEA 中配置外置 Tomcat
选中 Edit Configurations 进行配置
设置 Tomcat 相关内容
设置 使用的 war 包
选择暴露在外的 exploded
这个。
设置完成后,请注意项目路径地址。如果此处为/abc,那么你需要通过 locahost:端口号/abc
的方式访问。
7.编写一个 Controller,跳转到我们编写的 /WEB-INF 下的 success.jsp 页
本例端口号为:8080,调用 locahost:8080/hello
进行访问,此时会根据 prefix
和 suffix
的方式进行拼接,然后去路径下查找相对应的页面。此时便会找到 success.jsp 页面。该Controller 同时会使用 Model 进行值传递,将值传递给 success.jsp页。
8.启动 Tomcat
启动 Tomcat ,它会加载 ServletInititlizer 这个类来启动 Spring Boot 项目(如果没有的话,你可以自己编写)。如果没有这个类,Spring Boot 项目时启动不了的。利用 Spring Initializr 方式会自动为你创建这个类,这个类的名称可以自定义。
1.如果没有,必须手动编写一个SpringBootServletInitializer 的子类,并调用configure方法
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
//传入SpringBoot应用的主程序
return application.sources(SpringBoot04WebJspApplication.class);
}
}
2.如果有的话,正常启动 Tomcat 如下图所示
9.调用 hello 接口测试
博主写作不易,来个关注呗
求关注、求点赞,加个关注不迷路 ヾ(◍°∇°◍)ノ゙
博主不能保证写的所有知识点都正确,但是能保证纯手敲,错误也请指出,望轻喷 Thanks♪(・ω・)ノ