DownOL 软件仓库– 软件下载,字节世界与新知

教程|如何不用web.xml也能把Spring 应用程序部署到Tomcat中

发表于:2024-04-28 作者:创始人
编辑最后更新 2024年04月28日,本文将介绍如何在没有web.xml文件的情况下,为Tomcat部署到一个简单的示例Spring应用程序中。由于Servlet3规范的存在,使得web.xml不再需要配置Web应用程序,并已被注释取代。

本文将介绍如何在没有web.xml文件的情况下,为Tomcat部署到一个简单的示例Spring应用程序中。

由于Servlet3规范的存在,使得web.xml不再需要配置Web应用程序,并已被注释取代。在本文中,将介绍如何将一个没有web.xml并基于Spring的简单应用程序部署到Tomcat8.5.x上.

创建一个空应用程序

按照下图命令,使用Maven webapp原型创建一个空的Web应用程序:

删除在src \ main \ webapp \WEB-INF中创建的web.xml。然后,如果缺少web.xml,我们需要更新maven-war-plugin。这可以通过更新构建标记中的插件信息来完成,如下图所示:

设置依赖关系

将以下依赖添加到pom.xml中:

与其相应的版本属性如下:

配置H2嵌入式数据库

为了配置DataSource,先创建一个配置bean,这是一个嵌入式H2,同时创建一个NamedParameterJdbcTemplate类型的Bean:

然后,需要一个SQL脚本schema.sql来设置表,data.sql会在每次运行应用程序时为它们添加数据。现在,在src /main / resources中创建相应的文件:

创建一个API控制器

创建一个模型类Person:

和一个相应的DAO类PersonDAO:

API控制器如下图所示:

将应用程序部署到Tomcat

假设已经下载了Tomcat,并已经将其解压到文件系统中。出于开发目的,用更新server.xml来配置上下文并指向展开的WAR目录,如下图所示:

对于与生产相关的部署,可以将WAR上传到服务器。

因此,一旦启动服务器,就可以通过访问浏览器中的API URL http:// localhost:8080 / sample /api / persons来验证应用是否正确部署,以获取如下所示的数据:

配置Thymeleaf

现在,将Thymeleaf配置为模板引擎,为应用程序提供UI。配置它需要以下的bean定义:

1. 解决模板技术。有众多选择,在这里将使用基于Classpath的模板解析器。

2. 创建一个SpringTemplateEngine的实例并设置模板解析器技术。

3. 安装Spring的ViewResolver以使用SpringTemplateEngine。

创建一个视图控制器

创建一个简单的控制器来为UI模板服务:

创建一个基于Thymeleaf的模板

需要创建一个模板index.html,从上面的控制器返回:

结论

在本文中,着眼于配置一个简单的、基于Spring MVC、没有web.xml的应用程序(不使用SpringBoot),并将其部署到Tomcat。同时还配置了Thymeleaf来呈现UI模板。

2022-05-09 12:51:50
0