文档章节

Tomcat项目部署方式

疯狂的骑士
 疯狂的骑士
发布于 2016/06/24 09:40
字数 1130
阅读 32
收藏 4
点赞 0
评论 0

比较常用的一个例子,比如 你的

项目在 D:\workplace\my-project\project_name

maven package后 D:\workplace\my-project\project_name\target\project_name

修改$tomcathome/conf/server.xml

host节点下添加

 <Context path="/appname" docBase="D:\workplace\my-project\project_name\target\project_name "/>

则可通过以下访问

  http://localhost:8080/appname

 

以下为详细信息

一、静态部署

1、直接将web项目文件件拷贝到webapps 目录中
     TomcatWebapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。所以可以将JSP程序打包成一个 war包放在目录下,服务器会自动解开这个war包,并在这个目录下生成一个同名的文件夹。一个war包就是有特性格式的jar包,它是将一个web程序的所有内容进行压缩得到。具体如何打包,可以使用许多开发工具的IDE环境,如Eclipse等。也可以用 cmd 命令:jar -cvf mywar.war  myweb 
     webapps
这个默认的应用目录也是可以改变。打开Tomcatconf目录下的server.xml文件,找到下面内容:

<Host name="localhost" appBase="webapps"

       unpackWARs="true" autoDeploy="true"

       xmlValidation="false" xmlNamespaceAware="false">

appBase修改即可。 
2、在server.xml中指定 
    Tomcat的配置文件中,一个Web应用就是一个特定的Context,可以通过在server.xml中新建Context里部署一个JSP应用程序。打开server.xml文件,在Host标签内建一个Context,内容如下。
 

tomcat中的conf目录中,在server.xml中的,<host/>节点中添加: 
<Context path="/hello" docBase="D:\ workspace\hello\WebRoot" debug="0" privileged
="true"> 
</Context>

或者

<Context path="/myapp" reloadable="true" docBase="D:\myapp" workDir="D:\myapp\work"/>

或者

<Context path="/sms4" docBase="D:\workspace\sms4\WebRoot"/>


说明:

path是虚拟路径;

docBase 是应用程序的物理路径;

workDir 是这个应用的工作目录,存放运行时生成的与这个应用相关的文件;

 

debug 则是设定debug level,  0表示提供最少的信息,9表示提供最多的信息

privileged设置为true的时候,才允许TomcatWeb应用使用容器内的Servlet

reloadable 如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib /WEB-INF/classes目录的变化,自动装载新的应用程序,可以在不重起tomcat的情况下改变应用程序,实现热部署

antiResourceLockingantiJARLocking  热部署是需要配置的参数,默认false避免更新了某个webapp,有时候Tomcat并不能把旧的webapp完全删除,通常会留下WEB-INF/lib下的某个jar包,必须关闭Tomcat才能删除,这就导致自动部署失败。设置为trueTomcat在运行对应的webapp时,会把相应的源文件和jar文件复制到一个临时目录里。
3、创建一个Context文件 
  conf目录中,新建 Catalinalocalhost目录,在该目录中新建一个xml文件,名字不可以随意取,要和path后的那个名字一致,按照下边这个path的配置,xml的名字应该就应该是hellohello.xml),该xml文件的内容为:

<Context path="/hello" docBase="E:\workspace\hello\WebRoot" debug="0" privileged="true"></Context>

 

tomcat自带例子如下:

<Context docBase="${catalina.home}/server/webapps/host-manager"

         privileged="true" antiResourceLocking="false" antiJARLocking="false">

</Context>

这个例子是tomcat自带的,编辑的内容实际上和第二种方式是一样的,其中这xml文件名字就是访问路径,这样可以隐藏应用的真实名字。

4、注意:

    删除一个Web应用同时也要删除webapps下相应的文件夹和server.xml中相应的Context,还要将Tomcatconf\catalina\localhost目录下相应的xml文件删除,否则Tomcat仍会去配置并加载。。。

二 动态部署

     登陆tomcat管理控制台:http://localhost:8080/,输入用户名和密码后便可管理应用并动态发布。

     Context Path(option):中输入/yourwebname ,这代表你的应用的访问地址。

     XML Configration file URL中要指定一个xml文件,比如我们在F:\下建立一个hmcx.xml文件,内容如下: <Context reloadable="false" />其中docBase不用写了,因为在下一个文本框中填入。或者更简单点,这个文本框什么都不填,在WAR or Directory URL:中键入F:\hmcx即可,然后点击Deploy按钮,上面就可以看到了web应用程序,名字就Context Path(option):中的名字。


    如果部署.war文件还有更加简单的方式,下面还有个Select WAR file uploae点击浏览选择.war文件,然后点击Deploy也可以。

本文转载自:http://blog.csdn.net/diamondy/article/details/7472411

共有 人打赏支持
疯狂的骑士
粉丝 2
博文 28
码字总数 10444
作品 0
深圳
程序员
Tomcat项目部署—动态部署

之前在网上搜索过很多Tomcat项目部署的方法,在我们真正部署商用项目时,并不单单像我们平常练习时直接把目录放到webapps下即可。如何在不重启tomcat的前提下进行部署?如何在Linux这种权限操...

chace0120
2014/06/05
0
9
如何在一个Tomcat 中部署多个项目

通常情况下我们部署项目时是一个Tomcat 中部署一个项目,但是有时也需要在一个tomcat中部署多个应用。如何实现呢?我简单的记录一下,方便日后查阅。 1 打开tomcat目录,修改配置文件server....

乌英达姆
2016/12/28
0
0
部署WEB应用的三种方式

一、基本部署 Tomcat安装目录下有一个webapps目录,该目录存放所有的WEB应用程序,Tomcat会自动管理该目录下的所有WEB应用。因此,最简单的部署方式就是将要部署的WEB应用直接拷贝到Tomcat安...

月下狼
2016/05/08
99
0
docker挂载本地目录并映射端口,生产环境中的docker部署方案(多端口多容器)

本文解决两个问题: 1.如何在启动docker的时候将本地目录挂载到docker运行容器中? 2.如何在生产环境中进行docker的部署?部署前相比于传统的部署方式有哪些优缺点? 开始: 1.如何在启动doc...

lishirong
2017/05/26
0
0
开发过程使用Tomcat Maven插件持续快捷部署Web项目

我在平时工作中部署Web项目到测试服务器上的Tomcat时用的是Hudson。Hudson本身已经跟SVN、Git、Maven集成并且支持添加各种插件。但如果使用Hudson,我需要配置两个任务:一个任务负责打包项目...

优雅先生
2014/10/11
0
25
JFinal 部署在 Tomcat 下推荐方法

经常有人在群里问 tomcat 下项目部署的问题,现写个简单的博文,希望能帮助到有需要的人。 首先明确一下 JFinal 项目是标准的 java web 项目,其部署方式与普通 java web 项目没有任何差别。...

JFinal
2014/12/06
0
50
tomcat环境下和maven环境下velocity的文件加载类和路径的不同

我有一个web项目,用maven构建,然后页面的模板使用velocity来做的,中间我用到 VelocityEngineUtils.mergeTemplateIntoString(velocityEngine,"template.vm",params) 将数据整合到模板文件中...

飞天苹果
2013/07/18
476
2
javaweb项目如何部署到tomcat,不缺少jar包?

建项目方式: 本人新建的项目目录如下: websocket开发,用到了tomcat下面的jar包,怎样发布到tomcat下,同时让所用的jar包自动包含到lib下呢?怎样去配置部署?网上很多文章,什么复制整个项...

阶前梧叶
2014/10/08
10.5K
7
tomcat6升级tomcat8后虚拟目录部署404的解决办法

这是宝宝第一次在技术网站上发帖,这次必须要写一下了- -。 之前一直在用tomcat6,由于要用到webSocket无奈把tomcat升级到了8,但是一直提示404,参考了一些网上的资料后试着改了一晚上终于弄...

lu54977212
2017/11/01
0
0
tomcat默认reload引起宕机

项目使用文件来保存修改,为了方便直接把文件放在src目录下;部署后发现过了一阵tomcat就会宕机; 日志为: Oct 18, 2013 5:20:11 PM org.apache.catalina.core.StandardContext reload INFO...

郑剑凡
2013/10/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

编程语言对比分析:Python与Java和JavaScript(图)

编程语言对比分析:Python与Java和JavaScript(图): 凭什么说“Python 太慢,Java 太笨拙,我讨厌 JavaScript”?[图] 编程语言生而为何? 我们人类从原始社会就是用语言表达自己,互相沟通...

原创小博客
6分钟前
0
0
Akka构建Reactive应用《one》

看到这Akka的官网,描述使用java或者scala构建响应式,并发和分布式应用更加简单,听着很高级的样子,下面的小字写着消息驱动,但是在quickstart里面又写容错事件驱动,就是这么钻牛角尖。 ...

woshixin
17分钟前
0
0
ffmpeg源码分析 (四)

io_open 承接上一篇,对于avformat_open_input的分析还差其中非常重要的一步,就是io_open,该函数用于打开FFmpeg的输入输出文件。 在init_input中有这么一句 if ((ret = s->io_open(s, &s-...

街角的小丑
19分钟前
0
0
String,StringBuffer ,StringBuilder的区别

不同点 一、基类不同 StringBuffer、StringBuilder 都继承自AbStractStringBuilder,String 直接继承自 Object 2、底层容器“不同” 虽然底层都是字符数组,但是String的是final修饰的不可变...

不开心的时候不要学习
34分钟前
0
0
nodejs 文件操作

写文件code // 加载文件模块var fs = require("fs");var content = 'Hello World, 你好世界!';//params 文件名,内容,编码,回调fs.writeFile('./hello.txt',content,'utf8',function (er......

yanhl
36分钟前
0
0
SpringBoot mybits 查询为0条数据 但是在Navicat 中可以查询到数据

1.页面请求: 数据库查询: 2018-07-16 17:56:25.054 DEBUG 17312 --- [nio-9010-exec-3] c.s.h.m.C.selectSelective : ==> Preparing: select id, card_number, customer_id, customer_nam......

kuchawyz
46分钟前
0
0
译:Self-Modifying cod 和cacheflush

date: 2014-11-26 09:53 翻译自: http://community.arm.com/groups/processors/blog/2010/02/17/caches-and-self-modifying-code Cache处在CPU核心与内存存储器之间,它给我们的感觉是,它具......

我叫半桶水
49分钟前
0
0
Artificial Intelligence Yourself

TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow为张量从流...

孟飞阳
今天
0
0
press.one个人数字签名

这是我在press.one的数字签名 https://press.one/p/address/v?s=9d3d5b7ce019af357ab994775549e8f047a5b17fc9893364652fc67e4b95443b38ccb24c6655e0d252dd0154369eb9b7717c4ccf4e1835ca3596......

NateHuang
今天
1
0
Oracle 中的 SQL 分页查询原理和方法详解

本文分析并介绍 Oracle 中的分页查找的方法。 Oracle 中的表,除了我们建表时设计的各个字段,其实还有两个字段(此处只介绍2个),分别是 ROWID(行标示符)和 ROWNUM(行号),即使我们使用...

举个_栗子
今天
4
2

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部