技术开发 频道

不配置web.xml 也能把Spring部署到Tomcat中

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

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

  创建一个空应用程序

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

不用web.xm也能把Spring程序部署到Tomcat中

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

不用web.xm也能把Spring程序部署到Tomcat中

  设置依赖关系

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

不用web.xm也能把Spring程序部署到Tomcat中

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

不用web.xm也能把Spring程序部署到Tomcat中

  配置H2嵌入式数据库

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

不用web.xm也能把Spring程序部署到Tomcat中

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

不用web.xm也能把Spring程序部署到Tomcat中

  创建一个API控制器

  创建一个模型类Person:

不用web.xm也能把Spring程序部署到Tomcat中

  和一个相应的DAO类PersonDAO:

不用web.xm也能把Spring程序部署到Tomcat中

  API控制器如下图所示:

不用web.xm也能把Spring程序部署到Tomcat中

  将应用程序部署到Tomcat

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

不用web.xm也能把Spring程序部署到Tomcat中

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

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

不用web.xm也能把Spring程序部署到Tomcat中

  配置Thymeleaf

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

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

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

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

不用web.xm也能把Spring程序部署到Tomcat中

不用web.xm也能把Spring程序部署到Tomcat中

  创建一个视图控制器

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

不用web.xm也能把Spring程序部署到Tomcat中

  创建一个基于Thymeleaf的模板

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

不用web.xm也能把Spring程序部署到Tomcat中

  结论

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

0
相关文章