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


猜你喜欢
- 超链接即内容链接,通过给特定对象设置超链接,可实现载体与特定网页、文件、邮件、网络等的链接,点击链接载体可打开链接目标,在文档处理中是一种比
- Java与Scala创建List与Map//JavaList<String> languages = new ArrayList
- 类1.什么是类类是事物的属性(外在特征)和行为(具备的功能)的集合2.想要知道Java中类是什么我们要先知道现实生活中的类是什么,因为Jav
- 域对象共享数据使用ServletAPI向request域对象共享数据@RequestMapping("/testServletAP
- 本篇主要讲解SpringBoot当中使用Servlet三大组件,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学
- 大家可以自行百度下阿里分布式事务,在这里我就不啰嗦了。下面是阿里分布式事务开源框架的一些资料,本文是springboot+dubbo+fes
- 本文实例讲述了WinForm实现自定义右下角提示效果的方法。分享给大家供大家参考。具体实现方法如下:using System;using S
- 使用ApkTool反编译Apk下载 apktool1.4.3.tar.bz2 、apktool-install-linux-r0
- 一、HandlerThread的介绍及使用举例  
- 概述线上项目发布一般有以下几种方案:机发布蓝绿部署滚动部署灰度发布停机发布 这种发布一般在夜里或者进行大版本升级的时候发布,因为需要停机,所
- 本文实例讲述了Android使用ListView批量删除item的方法。分享给大家供大家参考,具体如下:利用CheckBox选中一个或多个i
- AlertDialog可以在当前的界面上显示一个对话框,这个对话框是置顶于所有界面元素之上的,能够屏蔽掉其他控件的交互能力,因此AlertD
- 前言SpringBoot引入neo4j <dependency> &nb
- 本文实例为大家分享了unity实现手游虚拟摇杆的具体代码,供大家参考,具体内容如下using System.Collections;usin
- 一、背景说明由于以前在项目中一直使用sqlmap.xml进行mybatis语句的编写和实现,其xml实现动态更新和查询较为方便,而目前由于技
- 最近由于工作原因,没时间更新,开始吧~~关于json的返回需要用到一个工具包来将书转换为json格式,在此用到的jar包为: im
- 一.线程池简介线程池的概念线程池就是首先创建一些线程,它们的集合称为线程池,使用线程池可以很好的提高性能,线程池在系统启动时既创建大量空闲的
- 我们在编写完Spring的代码后,往往需要测试代码的正确性,这个时候就需要用到单元测试了。我们这里使用的版本是junit4.一个程序的入口是
- 思路:先从集合中找出来顶级的菜单,然后遍历顶级菜单,找出每个顶级菜单的所有子菜单,然后判断当前需要排列的集合是否为空,如果不为空的话,就在遍
- C#中属性的目的是对字段的封装,是为了程序数据的安全性考虑的。本文即以实例形式对C#中只读只写属性进行剖析。对于只读或只写的属性定义:1、不