从零开始的Spring Boot学习【十六】【整合外置Tomcat以及使用JSP开发】

我们在创建Spring Boot项目时,默认自带了一个内置的Tomcat服务器,所以我们不需要打成war包,直接通过Jar即可运行。
但是,如果需要整合JSP进行开发(Spring Boot
默认不支持JSP),我们就需要配置一个外置的Tomcat服务器,然后需要打成war包,就和普通的Web项目一样,在运行的时候,统一部署到Tomcat服务器上的webapps中。


Spring Boot整合JSP开发步骤:

1.首先我们从新建Spring Boot项目开始,选择打成war包
 在pom.xml中会自动添加如下依赖(provided表明该包只在编译和测试的时候用):

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
</dependency>

provided:将项目打包时,不会将内置的Tomcat一起打包(大家可以对比选择Jar包时的pom.xml文件)。

2.建立基本的web项目所需要的目录结构

webapp/WEB-INF(需要)
webapp/WEB-INF/web.xml (不需要,Spring Boot实现自动装配)

大家有没有发现,在选择Jar包的时候,项目会自动生成一个DemoApplication.java文件,即是Spring Boot的主配置类启动程序;但是在选择War包后,项目自动生成的.java文件就多了一个

启动服务器Tomcat时, 项目默认不是先启动主配置类DemoApplication.java,而是会自动调用ServletInitializer类中的configure方法(因为它有一个监听器在监听服务器是否启动了,它会先做Servlet的初始化),configure方法内部会调用Spring Boot的主配置类,从而启动Spring Boot。即在启动Tomcat时会先会进行Servlet的Init,然后再启动Spring Boot主配置类

在Servers中右键New一个Server,选择自己下载好的Tomcat根路径即可(因为要使用外置的Tomcat服务器),我们运行一下。

根据上图的结果,的确是启动Tomcat服务器后,调用了Servlet的init,再运行Spring Boot主配置类。好的,我们现在打开application.properties来做一些简单的配置。

来一波熟悉的SSM框架配置,设置返回的前缀和后缀(上图在application.properties为什么前缀和后缀是以spring.mvc.view开头,我们不再赘述,感兴趣的童鞋可以看我之前的文章)。这两个设置的意思是我们把.jsp页面都放在了WEB-INF文件夹下,然后默认的后缀为.jsp,这样我们在Controller中,只需要直接返回一个jsp的文件名字就可以了。

我们在testjsp.jsp中我们获取从Controller传过来的数据(SpringMVC的知识),jsp中的${requestScope.name }也可以写成${name}这两种在这个简单的项目中是等价的。不过如果要编写复杂的项目,为了逻辑关系和清晰的理解,建议还是加上requestScope,这是一种良好的习惯。

好了,测试没有问题。基于这一点,我们能使用JSP了,让原先为SSM框架的项目不需要花费太大的力气就能整合转移成Spring Boot项目。

emmm,我们Spring Boot的基础内容就讲到这里咯。后续还会发布一些关于Spring Boot的文章,但是不再加进“从零开始的Spring Boot学习”系列了,而是作为一篇单独的文章进行发布。

关注博主,更多精彩哦!

上一章:从零开始的Spring Boot学习【十五】【模板Thymeleaf(三)】

下一章:无(最终章)

发布了40 篇原创文章 · 获赞 44 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/KnightHONG/article/details/104839368