在conf/server.xml里面的Host加入Context节点,设置以下属性

path="/project_name"

docBase="project_name"

debug="1"

reloadable="true">

然后在Context节点加入以下子节点

META-INF/context.xml

WEB-INF/web.xml

WEB-INF/tomcat-web.xml

${catalina.base}/conf/web.xml

注:这些子节点的意思是读入你项目里的相应的配置文件

如:META-INF/context.xml这个文件里面可以配置jdbc数据源,格式如下

name="jdbc/petforwebtest"

auth="Container"

type="javax.sql.DataSource"

maxActive="100"

maxWait="10000"

maxTotal="100"

maxIdle="30"

maxWaitMillis="10000"

username=""

password=""

driverClassName="com.mysql.cj.jdbc.Driver"

url="jdbc:mysql://?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8" />

WEB-INF/web.xml可以配置tomcat启动时的初始化函数执行,格式如下:

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"

version="4.0">

com.common.myInit

com.common.myInit是要执行的类的全路径

myInit类需实现ServletContextListener接口

package com.common;

import javax.servlet.ServletContainerInitializer;

import javax.servlet.ServletContextEvent;

import javax.servlet.ServletContextListener;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

public class myInit implements ServletContextListener {

public void contextInitialized(ServletContextEvent sce) {

System.out.println("init pet-mgr");

DbUtils.initDataSource();

}

public void contextDestroyed(ServletContextEvent sce) {

System.out.println("destroy pet-mgr");

}

}

数据库的连接及获取方式如下:

static DataSource ds = null;

public static void initDataSource(){

try {

Context ctx = new InitialContext();

ds = (DataSource)ctx.lookup("java:comp/env/jdbc/petforwebtest");

}catch (Exception e){

e.printStackTrace();

}

}

public static Connection getConnect(){

try {

return ds.getConnection();

}catch (Exception e){

e.printStackTrace();

return null;

}

}

然后将本项目的out/artifacts/pet_mgr_war_exploded目录重命名为上面的project_name,然后放到tomcat的webapps目录下面,以后更新的话,只替换project_name/WEB_INF/classes下面的东西即可

idea配置热加载的方式,首先要打开idea软件的热加载Files->Settings->Build,Execution,Deployment->Hotswap,如下配置

然后配置运行的配置项,点击Run->Edit Configurations,点开Server选项卡,配置如下:

然后只要idea的窗口失去焦点,就会自动编译

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐