Tomcat 部署项目的若干种方式
- war 包
将打包好的 war 包放到 webapps 下
此时 Servlet Context 就是 war 包文件名
- server.xml 部署
在 Tomcat server.xml 配置文件中,节点 Host 下配置 Context 节点
docBase 是文件夹绝对路径
path 是 Servlet Context
- 文件夹部署
直接向 webapps 中投放文件夹
- 描述符部署
在 conf\Catalina\localhost 创建 xml 文件夹,写入 Context 节点
xml 文件名和 Context 节点的 path 要保持一致
- 特殊 JAR 包部署
Tomcat 是不支持 JAR 包部署的,因此,如果某些 JAR 包中包含 Servlet 等组件,可以加入 lib 依赖,然后在 web.xml 中进行注册。
Tomcat JNDI 配置
http://tomcat.apache.org/tomcat-9.0-doc/jndi-resources-howto.html
Tomcat为在其下运行的每个web应用程序提供了JNDI InitialContext实现实例,其方式与Java Enterprise Edition应用程序服务器提供的方式兼容。
配置 Environment 变量
编辑 tomcat/conf/context.xml 文件,在根节点 <Context>
下添加 <Environment>
节点
<Environment type="java.lang.String" name="author" value="CannedBread"></Environment>
通过实例化 InitialContext 对象获取
InitialContext context = new InitialContext();
String author = (String)context.lookup("java:comp/env/author");
配置数据源
编辑 tomcat/conf/context.xml 文件
<Resource type="javax.sql.DataSource" name="masterDataSource"
auth="Container" username="root" password="root123456" driverClassName="com.mysql.jdbc.Dirver"
url="jdbc:mysql://localhost:3306/bms?serverTimezone=Asia/Shanghai"
maxActive="400" maxIdle="20" maxWait="5000">
</Resource>
获取方式
InitialContext context = new InitialContext();
DataSource dataSource = (DataSource)context.lookup("java:comp/env/masterDataSource");