【IT168 技术】本文将介绍如何在没有web.xml文件的情况下,为Tomcat部署到一个简单的示例Spring应用程序中。
由于Servlet 3规范的存在,使得web.xml不再需要配置Web应用程序,并已被注释取代。在本文中,将介绍如何将一个没有web.xml并基于Spring的简单应用程序部署到Tomcat 8.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的应用程序(不使用Spring Boot),并将其部署到Tomcat。同时还配置了Thymeleaf来呈现UI模板。