IDEA部署JavaWeb项目到Tomcat服务器的方法

作者:104828720 时间:2023-11-02 23:21:22 

IDEA创建一个传统JAVA WEB项目(不使用maven构建)

方法一


File --> NEW --> Project --> Java (勾选Web Application)

方法二


File --> NEW --> Project --> Java Enterprise(勾选Web Application)

IDEA部署JAVA WEB项目

IDEA 并非把项目放到 tomcat 的 webapp目录中,而项目还是在源项目目录中,IDEA采用了一种无入侵Tomcat项目方式部署(不修改tomcat任何文件) <虚拟目录方式>


在IDEA启动Tomcat后,会在 ${user.home}/.IntelliJIdea/system/tomcat 目录下创建对应projectName目录,并复制3个目录到 ${user.home}/.IntelliJIdea/system/tomcat/projectName 目录下,这样造成每个项目对应一个tomcat配置、一个tomcat日志、一个tomcat工作目录
三个目录:conf、logs、work

在conf/Catalina/localhost/ROOT.xml配置文件中,有关联JAVAWEB项目的配置如下:


<?xml version="1.0" encoding="UTF-8"?>
<Context path="" docBase="G:\work\java\je\out\artifacts\je_war_exploded" />

conf/Catalina/localhost/ROOT.xml 配置文件属性


<?xml version="1.0" encoding="UTF-8"?>
<Context path="" docBase="G:\work\java\je\out\artifacts\je_war_exploded" />

path

设置访问web应用入口的URL(设置URL入口路由)

docBase

设置web应用的项目路径

className

指定实现Context接口的Java类名

reloadable

如果设置为true,tomcat会根据WEB-INF目录改动自动重新加载,一般开发/调试时设置为true,正式生产环境设置为false

虚拟目录

作用:

1、在URL中host:port相同的情况下,可以部署多个项目(一般很少这样用法)

例如:

http://localhost:8080/
http://localhost:8080/manager
http://localhost:8080/admin

2、把项目存放位置从tomcat根目录下webapps分离出来,更安全

配置方法一

创建: tomcat根目录\conf\Catalina\域名\test.xml 文件

内容: 


<?xml version="1.0" encoding="UTF-8"?>
 <Context docBase="G:\work\java\je\out\artifacts\je_war_exploded" />

    访问url: http://localhost:8080/test

虚拟主机

作用:一台服务器绑定多个域名,一个域名对应一个项目(多数情况)或者一个域名对应多个项目(很少见)

配置方法

在 tomcat根目录\conf\server.xml 文件中加入如下代码:


<Host name="www.jalja2.org" appBase="E:/学习/activeMq/app2" unpackWARs="true" autoDeploy="true"></Host>

总结

以上所述是小编给大家介绍的IDEA部署JavaWeb项目到Tomcat服务器的方法,希望对大家有所帮助。

来源:https://segmentfault.com/a/1190000015242968

标签:idea,部署,tomcat
0
投稿

猜你喜欢

  • WinForm实现仿视频播放器左下角滚动新闻效果的方法

    2021-11-04 19:43:41
  • Android Loop机制中Looper与handler详细分析

    2023-01-13 04:40:56
  • Dubbo服务校验参数的解决方案

    2023-06-09 14:30:10
  • java中使用interrupt通知线程停止详析

    2023-09-03 11:41:26
  • java实现Base64加密解密算法

    2023-11-25 08:07:27
  • Android实现底部状态栏切换的两种方式

    2022-03-11 02:46:47
  • java对象拷贝常见面试题及应答汇总

    2022-01-08 00:01:52
  • Java用邻接矩阵存储图的示例代码

    2021-10-05 21:39:18
  • c# 如何使用 My 命名空间

    2022-12-25 20:23:39
  • 深入解析JVM对dll文件和对类的装载过程

    2023-06-14 23:23:33
  • C#分布式事务的超时处理实例分析

    2022-06-16 03:11:28
  • java操作solr实现查询功能的实例

    2023-08-04 10:41:34
  • JAVA实现的CrazyArcade泡泡堂游戏

    2022-12-25 11:55:23
  • .NET实现:将EXE设置开机自动启动

    2022-02-25 05:49:25
  • Mybatis-Plus-AutoGenerator 最详细使用方法

    2021-06-11 07:45:13
  • android6.0权限动态申请框架permissiondispatcher的方法

    2023-07-31 10:51:57
  • SpringBoot+SpringSession+Redis实现session共享及唯一登录示例

    2023-10-07 07:56:17
  • Spring中@Scheduled和HttpClient的连环坑

    2023-10-19 23:06:00
  • Java中死锁与活锁的具体实现

    2023-10-29 01:48:02
  • 快速了解Java中ThreadLocal类

    2021-06-28 03:32:20
  • asp之家 软件编程 m.aspxhome.com