如何将JSP/Servlet项目转换为Spring Boot项目
作者:David 时间:2023-06-19 16:23:06
创建Spring Boot应用
在基于Spring来重构JSP应用之前,我们先引入Spring Boot,使之成为一个Spring Boot应用。你只需要在原来的代码基础上,增加简单的配置和少量的代码即可引入Spring Boot,整个过程5分钟就能完成。
这里我们使用Maven来管理依赖,因为我们需要增加Spring Boot相关的依赖。也可以在Eclipse或者IntelliJ中创建一个新的Maven项目。
在POM文件中加入Spring Boot相关的配置。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.2.RELEASE</version>
</parent>
<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.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
拷贝原有代码
如果你创建了新的Spring Boot项目,将原项目中src/main/java
目录下的所有代码,拷贝至Spring Boot项目中的src/main/java
。
新建一个代码目录(【New】->【Source Folder】),命名为src/main/webapp
,将原项目中WebContent
目录下的所有内容拷贝至该目录内。
增加Spring Boot 代码
增加一个Spring Boot应用的启动类,这里不涉及任何业务逻辑。这里我们给BlogApplication
增加了一个@ServletComponentScan
标注,这会让应用去扫描标注为@WebServlet
的Servlet类,并进行相应的初始化工作。
package com.tianmaying;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;
@SpringBootApplication
@ServletComponentScan
public class BlogApplication {
public static void main(String[] args) throws Exception {
SpringApplication.run(BlogApplication.class, args);
}
}
注意:Servlet类所在的包路径必须是BlogApplication
所在的包路径的子路径才能被扫描到,否则需要通过basePackages
属性指定Servlet类所在的包。:
自动部署与刷新
自动部署
为了让开发更加得心应手,我们进一步优化IDE,使得Web应用可以自动重启,页面内容修改时网页可以自动刷新,这可以极大地提高我们的开发体验和开发效率。
为了让Spring Boot在需要重启时,能够自动进行,我们只需要在POM文件中增加以下依赖。
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
</dependencies>
增加了这段依赖之后,可以实验以下。比如,我们修改以下BlogApplication.java
的代码,可以看到控制台中,内嵌的Web服务器自动重启了。
浏览器自动刷新
我们在修改代码之后,一般情况下都是重新回到浏览器中,通过鼠标操作或者通过F5对页面进行刷新。这种操作虽然时间很短,但是无数次的出现依然会占用我们很多时间。我们可以通过给浏览器安装livereload插件,这样就可以解放F5键了。以后只要有代码修改,切回浏览器就能马上看到效果了。
访问http://livereload.com/extensions/,根据自己的浏览器类型,下载响应的插件扩展程序即可。
来源:https://www.tianmaying.com/tutorial/jsp-spring-boot