Java Web开发Tomcat中三种部署项目的方法

第一种方法:在tomcat中的conf目录中,在server.xml中的,<host/>节点中添加: 
<Context path="/hello" docBase="D:\eclipse3.2.2forwebtools\workspace\hello\WebRoot" debug="0" privileged="true"> 
</Context> 
至于Context 节点属性,可详细见相关文档。 

第二种方法:将web项目文件件拷贝到webapps 目录中。 

第三种方法:很灵活,在conf目录中,新建 Catalina(注意大小写)\localhost目录,在该目录中新建一个xml文件,名字可以随意取,只要和当前文件中的文件名不重复就行了,该xml文件的内容为: 
<Context path="/hello" docBase="D:\eclipse3.2.2forwebtools\workspace\hello\WebRoot" debug="0" privileged="true"> 
</Context> 

第3个方法有个优点,可以定义别名。服务器端运行的项目名称为path,外部访问的URL则使用XML的文件名。这个方法很方便的隐藏了项目的名称,对一些项目名称被固定不能更换,但外部访问时又想换个路径,非常有效。 

第2、3还有优点,可以定义一些个性配置,如数据源的配置等。 

还有一篇 详细的 

 

1、直接放到Webapps目录下
    Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。也可以将JSP程序打包成一个war包放在目录下,服务器会自动解开这个war包,并在这个目录下生成一个同名的文件夹。一个war包就是有特性格式的jar包,它是将一个Web程序的所有内容进行压缩得到。具体如何打包,可以使用许多开发工具的IDE环境,如Eclipse、NetBeans、ant、JBuilder等。也可以用cmd 命令:jar -cvf applicationname.war package.*;
甚至可以在程序执行中打包:
try{   
  string strjavahome = system.getproperty("java.home");   
  strjavahome = strjavahome.substring(0,strjavahome.lastindexof(\\))+"\\bin\\";   
  runtime.getruntime().exec("cmd /c start "+strjavahome+"jar cvf hello.war c:\\tomcat5.0\\webapps\\root\\*");   
  }   
catch(exception   e){system.out.println(e);}
webapps这个默认的应用目录也是可以改变。打开Tomcat的conf目录下的server.xml文件,找到下面内容:
<Host name="localhost" debug="0" appBase="webapps" unpackWARs="true" autoDeloy="true" xmlValidation="falase" xmlNamespaceAware="false">
2、在server.xml中指定
    在Tomcat的配置文件中,一个Web应用就是一个特定的Context,可以通过在server.xml中新建Context里部署一个JSP应用程序。打开server.xml文件,在Host标签内建一个Context,内容如下。
<Context path="/myapp" reloadable="true" docBase="D:\myapp" workDir="D:\myapp\work"/>
    其中path是虚拟路径,docBase是JSP应用程序的物理路径,workDir是这个应用的工作目录,存放运行是生成的于这个应用相关的文件。
3、创建一个Context文件
    以上两种方法,Web应用被服务器加载后都会在Tomcat的conf\catalina\localhost目录下生成一个XML文件,其内容如下:
<Context path="/admin" docBase="${catalina.home}/server/webapps/admin" debug="0" privileged="true"></Context>
可以看出,文件中描述一个应用程序的Context信息,其内容和server.xml中的Context信息格式是一致的,文件名便是虚拟目录名。您可以直接建立这样的一个xml文件,放在Tomcat的conf\catalina\localhost目录下。例子如下:
注意:删除一个Web应用同时也要删除webapps下相应的文件夹祸server.xml中相应的Context,还要将Tomcat的conf
\catalina\localhost目录下相应的xml文件删除。否则Tomcat仍会岸配置去加载。。。 
tomcat部署web应用主要有以下几种方式:
1.拷贝你的WAR文件或者你的web应用文件夹(包括该web的所有内容)到$CATALINA_BASE/webapps目录下。
2.为你的web服务建立一个只包括context内容的XML片断文件,并把该文件放到$CATALINA_BASE/webapps目录下。这个web应用本身可以存储在硬盘上的任何地方。这种context片断提供了一种便利的方法来部署web应用,你不需要编辑server.xml,除非你想改变缺省的部署特性,安装一个新的web应用时不需要重启动Tomcat。
3. 同方法2,只是将context片断放在CATALINA_BASE\conf\Catalina\localhost目录下.这种方法比方法2>要有效,笔者经过多次实验发现方法2不如后面这种方法好用.前者多次出现系统打不开的情况.
4.直接在server.xml中</Host>前加上Context片断,使用这种方法时,tomcat会自动在CATALINA_BASE\conf\Catalina\localhost目录下生成一个文件片断.方法同方法3具有同样效果.这种方式需要将ROOT目录删除才行.
另外,为了让tomcat只运行conf/server.xml中指定的web应用,可以有以下几种办法:
实现一:
     1)将要部署的WEB应用放在webapps以外的路径, 并在server.xml相应的context中的docBase指定.
     2)删除webapps中的所有文件夹, 以及conf/catalina/localhost下所有xml文件.
     注: webapps是server.xml中的Host元素的appBase属性的值. 
实现二:
     1) 修改server.xml中Host元素的属性, 添加或修改: deployXML="false" deployOnStartup="false" autoDeploy="false"
     2) 含义:
     deployXML="false": 不部署conf/catalina/localhost下的xml相应的WEB应用     deployOnStartup="false" : tomcat启动时, 不部署webapps下的所有web应用     autoDeploy="false": 避免tomcat在扫描改动时, 再次把webapps下的web应用给部署进来

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/294956.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android 页面布局xd,Adobe XD强大的布局系列工具 助你事半功倍

数字设计有多种形式-从移动端、桌面网站到显示屏应用程序、智能助手、车载娱乐系统(例如CarPlay和Android Auto)等等。为当今的应用程序打造数字体验意味着需要针对各种屏幕尺寸、布局和交互类型进行设计。作为设计师&#xff0c;您的时间应该花在用户体验上&#xff0c;而不是…

JS中数组Array的用法{转载}

js数组元素的添加和删除一直比较迷惑&#xff0c;今天终于找到详细说明的资料了&#xff0c;先给个我测试的代码^-^var arr new Array();arr[0] "aaa";arr[1] "bbb";arr[2] "ccc";//alert(arr.length);//3arr.pop();//alert(arr.length);//2…

如果觉得午休时间太短怎么办?

1 假装自己戴了口罩&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼2 正义不会迟到博主是男的&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼3 阅读理解有多难&#xff1f;&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼4 下雨天就不要爬树了&…

Android之ActionBar常用设计和使用总结

常用ActionBar总结 我们经常看见项目的顶部有一些文字显示在中间,或者左边、右边,而且还有一个返回的图标,很方便我们返回,接下来我总结下常用的ActionBar 第一步:写常见的ActionBar的布局文件 我这里写了3个actionbar文件 1、actionbar_return.xml …

WPF 实现温度计

WPF开发者QQ群&#xff1a; 340500857 | 微信群 -> 进入公众号主页 加入组织在WPF中没有现成的温度计控件&#xff0c;所以我们自己实现一个。微信群人数太多入群请添加小编微信号&#xff08;yanjinhuawechat&#xff09;或&#xff08;W_Feng_aiQ&#xff09;邀请入群&am…

100-6

2019独角兽企业重金招聘Python工程师标准>>> /**\第6题&#xff08;数组&#xff09;腾讯面试题&#xff1a; 给你10分钟时间&#xff0c;根据上排给出十个数&#xff0c;在其下排填出对应的十个数 要求下排每个数都是先前上排那十个数在下排出现的次数。 上排的十个…

linux系统644、755、777权限详解

在linux系统中644、755、777三种权限是非常重要的一些权限了&#xff0c;下面我来详细的介绍644、755、777三种权限的使用&#xff0c;希望对各位有帮助。常用的linux文件权限&#xff1a; 444 r--r--r-- 600 rw------- 644 rw-r--r-- 666 rw-rw-rw- 700 rwx------ 744 rwxr--r…

android获取自适应高度,Android中oncreate中获得控件高度或宽度的实现方法

Android中oncreate中获得控件高度或宽度的实现方法onCreate函数只是提供了数据初始化的机会&#xff0c;此时还没有正式绘制图形。在图形尚未渲染的情况下&#xff0c;getWidth()或getHeight()得到的值为0。如果需要自适应屏幕&#xff0c;需要一进入界面就得到父控件大小&…

单例模式7种实现

单例模式 1 、介绍&#xff1a; 单例模式(Singleton)也叫单态模式&#xff0c;是设计模式中最为简单的一种模式&#xff0c;甚至有些模式大师都不称其为模式&#xff0c;称其为一种实现技巧&#xff0c;因为设计模式讲究对象之间的关系的抽象&#xff0c;而单例模式只有自己一…

博导眼里本科生的科研能力:“他们还在玩泥巴”

父母眼中的科学博士&#xff1a;造飞机&#xff0c;造航母&#xff0c;造火箭本科生眼中的科学博士&#xff1a;特严谨&#xff0c;特专业&#xff0c;特……特别老硕士研究生眼中的博士&#xff1a;真能熬&#xff0c;真能写&#xff0c;真坚定博导眼中的博士&#xff1a;还年…

最全前端开发面试问题及答案整理

来自Github秋风的原文 说说你对闭包的理解 Talk about your understanding of closures 使用闭包主要是为了设计私有的方法和变量。闭包的优点是可以避免全局变量的污染&#xff0c;缺点是闭包会常驻内存&#xff0c;会增大内存使用量&#xff0c;使用不当很容易造成内存泄露。…

C# 10 新特性 —— 补充篇

C# 10 新特性 —— 补充篇Intro前面已经写了几篇文章介绍 C# 10 新特性的文章&#xff0c;还有一些小的更新Constant interpolated strings在之前的版本中&#xff0c;如果想要使用插值字符串来&#xff0c;则不能声明为一个常量如果依赖于一个常量的插值字符串就只能声明为一个…

线性表的基本操作

#include <stdio.h>#include <stdlib.h>#define OK 1#define ERROR 0//#define INITSIZE 5 //线性表存储空间的初始分配量//#define LISTINCREMENT 1 //线性表存储空间分配增量//实现线性表的顺序存储结构的类型定义typedef int DataType;//线性表的数据类型&#…

android技术积累,Android开发中积累的一些报错的解决方法

1.报错&#xff1a;The connection to adb is down, and a severe error has occured.[2012-03-11 09:36:56 - Camera] You must restart adb and Eclipse.[2012-03-11 09:36:56 - Camera] Please ensure that adb is correctly located at D:\SDK_1.5\platform-tools\adb.exe …

达内TTS6.0课件oop_day01

转载于:https://www.cnblogs.com/suncoolcat/p/3329114.html

过年前谈个恋爱很过分吗?

1 小盆友的广东口音有多好玩&#xff1f;&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼2 今年你进步了吗&#xff1f;&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼3 收到课本的丁真&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼4 上海业主…

office professional 2010 key

1、Office Professional Plus 2010&#xff1a;&#xff08;VL&#xff09; MKCGC-FBXRX-BMJX6-F3Q8C-2QC6P转载于:https://blog.51cto.com/wanghao/1028409

打独立运行包遇到无法trim咋解决

背景介绍工作中我用到kotlin写代码&#xff0c;在orm上ktorm是一款非常优秀的操作db的框架&#xff0c;我喜欢用它所以我写了一个插件能够增加我的工作效率&#xff0c;这款idea插件的主体逻辑是.net开发的(没错是跨平台的.net)。因为db-schema的解析逻辑我很在以前写的一个vis…

第四周周记

随着时间的流逝&#xff0c;很快一学期都过了四分之一了 。很难想象&#xff0c;期中考又快要在耳边响起了&#xff0c;好想知道开学以来所学的内容有什么、是什么、掌握了什么&#xff0c;可惜我一点都没有回想起&#xff0c;感觉自己都不知道学了什么东西。整天拖着人壳&…

用html制作班级课程表实例,在网页制作中用表格制作一张课程表如下图。

侠客岛的含笑 Document (2013)学年第(2)学期 课程表上午一&nbsp下午三&nbsp晚上五&nbsp