天天看点

springboot2.3.3引用Tomcat9整合jsp

一、搭建环境介绍

  • springboot:2.3.3
  • tomcat:9.0.37
  • java:1.8
  • maven:3.3.9
  • IDEA:2017.2.2

二、搭建步骤

  1. 打开IDEA,点击Create new Project创建一个新的工程
    springboot2.3.3引用Tomcat9整合jsp
  2. 点击Spring Initializr快速创建springboot;在Project SDK中配置项目的使用的Java版本;点击Next进入下一步。
    springboot2.3.3引用Tomcat9整合jsp
  3. 将Packing设置为War,其他的参考图片中的设置。点击Next进入下一步。
    springboot2.3.3引用Tomcat9整合jsp
  4. 点击Web,勾选Spring Web模块,注意版本为2.3.3;点击Next进入下一步。
    springboot2.3.3引用Tomcat9整合jsp
  5. 为项目起名字,点击Finish创建完成。
    springboot2.3.3引用Tomcat9整合jsp
  6. 创建完成后项目结构如下所示:注意这里的ServletInitializer类。
    springboot2.3.3引用Tomcat9整合jsp
    ServletInitializer类的如下所示:
public class ServletInitializer extends SpringBootServletInitializer {

	@Override
	protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
		return application.sources(SpringBootJspApplication.class);
	}

}
           

SpringBootJspApplication类如下所示:

@SpringBootApplication
public class SpringBootJspApplication {

	public static void main(String[] args) {
		SpringApplication.run(SpringBootJspApplication.class, args);
	}

}
           

pom.xml的文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.3.3.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.lhang</groupId>
	<artifactId>spring-boot-jsp</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>war</packaging>
	<name>spring-boot-jsp</name>
	<description>Demo project for Spring Boot</description>

	<properties>
		<java.version>1.8</java.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-tomcat</artifactId>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
			<exclusions>
				<exclusion>
					<groupId>org.junit.vintage</groupId>
					<artifactId>junit-vintage-engine</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

</project>

           
  1. 到此Spring Initializr已经帮助我们完成了大部分项目的创建,现在需要添加webapp的资源文件夹和web.xml。按住ctrl+alt+shift+s进入Project Structure,①点击Modules,②展开项目然后点击web,③配置web资源文件夹路径。我的路径配置在src\main下,完整web资源文件夹路径为C:\Users\lhang\Desktop\spring-boot-jsp\src\main\webapp④点击ok完成web资源文件夹路径的配置。
springboot2.3.3引用Tomcat9整合jsp

8. ①点击’+’,②填写web。xml 的存放路径,我配置在webapp\WEB-INF\下边,完整的路径是

C:\Users\lhang\Desktop\spring-boot-jsp\src\main\webapp\WEB-INF\web.xm。③点击ok完成web.xml

文件的添加

springboot2.3.3引用Tomcat9整合jsp

9. 到此webapp的资源文件夹和web.xml已经创建完成,项目的结构如下所示:

springboot2.3.3引用Tomcat9整合jsp

10. 接下来添加和配置本地tomcat服务器。点击Edit Configration进行运行配置。

springboot2.3.3引用Tomcat9整合jsp

11. 点击左上角的’+'号,在弹出的Add New Configuration矿中点击Tomcat Server,选择Local添加本地Tomcat服务器。

springboot2.3.3引用Tomcat9整合jsp

12. ①配置Tomcat Server 的名字②在Server选项卡中,点击configure…添加并配置本地Tomcat服务器。

springboot2.3.3引用Tomcat9整合jsp

13. ①在Deployment选项卡下,点击+选择Artifact…,会弹出Select Artifact to Deploy 弹框。

springboot2.3.3引用Tomcat9整合jsp

14. 在Select Artifact to Deploy 弹框中选择当前项目暴露的war包(这一步的目的是将应用部署到tomcat服务器上),点击ok完成Tomcat服务器的添加和配置。

springboot2.3.3引用Tomcat9整合jsp

15. 在webapp目录下添加index.jsp,在index.jsp中内容如下所示:

springboot2.3.3引用Tomcat9整合jsp

16. 在WEB-INF下新建jsp文件夹,在jsp文件夹下新建hello.jsp,内容如下所示:

springboot2.3.3引用Tomcat9整合jsp
  1. 在springboot包下创建controller子包,并在controller包下创建HelloController类,内容如下图所示:
    springboot2.3.3引用Tomcat9整合jsp
  2. 在application.properties中配置springmvc 的视图解析逻辑。
    springboot2.3.3引用Tomcat9整合jsp
  3. 打开maven Project侧边栏,点击package对当前项目进行打包。
    springboot2.3.3引用Tomcat9整合jsp
  4. 如果出现下图中Build Success,则说明项目打包成功。
    springboot2.3.3引用Tomcat9整合jsp
  5. 选择配置好的tomcat服务器,点击run启动tomcat服务器。
    springboot2.3.3引用Tomcat9整合jsp
  6. 打开浏览器,输入http://localhost:8080,点击页面中的hello,如果配置成功会正常跳转到hello页面
    springboot2.3.3引用Tomcat9整合jsp
    hello页面如下所示:
    springboot2.3.3引用Tomcat9整合jsp

三、总结

  • springboot集成外部tomcat服务器时,需要选择合适的tocmat服务器的版本,这个可以在springboot的文档中查找。
  • 每改动一次代码,都需要使用maven从新打包,然后在重启tomcat服务器,这样项目才能被tomcat正确运行。

继续阅读