如何将JSP/Servlet项目转换为Spring Boot项目

 更新时间:2020年10月12日 11:13:27   作者:David  
这篇文章主要介绍了如何将JSP/Servlet项目转换为Spring Boot项目,帮助大家更好的利用springboot进行网络编程,感兴趣的朋友可以了解下

创建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/,根据自己的浏览器类型,下载响应的插件扩展程序即可。

以上就是如何将JSP/Servlet项目转换为Spring Boot项目的详细内容,更多关于JSP/Servlet转换为Spring Boot的资料请关注脚本之家其它相关文章!

相关文章

  • Logstash配置Java日志格式的方法小结

    Logstash配置Java日志格式的方法小结

    Logstash 是用于日志收集的开源工具,通常与 Elasticsearch 和 Kibana 一起使用,形成 ELK Stack,Logstash 非常灵活,可以通过配置文件(通常是 .conf 文件)来定义数据的输入、处理和输出,本文给大家介绍了Logstash配置Java日志格式的方法,需要的朋友可以参考下
    2024-09-09
  • Java静态static关键字原理详解

    Java静态static关键字原理详解

    这篇文章主要介绍了Java静态static关键字原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Java通过在主循环中判断Boolean来停止线程的方法示例

    Java通过在主循环中判断Boolean来停止线程的方法示例

    这篇文章主要介绍了Java通过在主循环中判断Boolean来停止线程的方法,结合具体实例形式分析了java针对线程的判断与停止操作相关实现技巧,需要的朋友可以参考下
    2017-04-04
  • Java连接FTP服务器并使用ftp连接池进行文件操作指南

    Java连接FTP服务器并使用ftp连接池进行文件操作指南

    使用FTP最主要的功能是对文件进行管理,下面这篇文章主要给大家介绍了关于Java连接FTP服务器并使用ftp连接池进行文件操作的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-08-08
  • Java并发Map面试线程安全数据结构全面分析

    Java并发Map面试线程安全数据结构全面分析

    本文将探讨如何在Java中有效地应对这些挑战,介绍一种强大的工具并发Map,它能够帮助您管理多线程环境下的共享数据,确保数据的一致性和高性能,深入了解Java中的并发Map实现,包括ConcurrentHashMap和ConcurrentSkipListMap,及相关知识点
    2023-09-09
  • Java语法中Lambda表达式无法抛出异常的解决

    Java语法中Lambda表达式无法抛出异常的解决

    这篇文章主要介绍了Java语法中Lambda表达式无法抛出异常的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • Java基础学习之字符串知识总结

    Java基础学习之字符串知识总结

    今天带着大家复习一下Java基础知识-字符串,文中介绍的非常详细,对初步学习Java或者复习Java的小伙伴们都很有帮助哟,需要的朋友可以参考下
    2021-05-05
  • 关于SpringSecurity的基本使用示例

    关于SpringSecurity的基本使用示例

    这篇文章主要介绍了关于SpringSecurity的基本使用示例,SpringSecurity 本质是一个过滤器链SpringSecurity 采用的是责任链的设计模式,它有一条很长的过滤器链,需要的朋友可以参考下
    2023-05-05
  • java异或加密算法

    java异或加密算法

    这篇文章主要介绍了java异或加密算法,有需要的朋友可以参考一下
    2013-12-12
  • mybatis-plus getOne和逻辑删除问题详解

    mybatis-plus getOne和逻辑删除问题详解

    这篇文章主要介绍了mybatis-plus getOne和逻辑删除,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08

最新评论