zoukankan      html  css  js  c++  java
  • tomcat动态部署和静态部署

    一、静态部署
    1、直接将web项目文件件拷贝到webapps 目录中
    Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。所以可以将JSP程序打包成一个 war包放在目录下,服务器会自动解开这个war包,并在这个目录下生成一个同名的文件夹。一个war包就是有特性格式的jar包,它是将一个web程序的所有内容进行压缩得到。具体如何打包,可以使用许多开发工具的IDE环境,如Eclipse等。也可以用 cmd 命令:jar -cvf mywar.war myweb 
    webapps这个默认的应用目录也是可以改变。打开Tomcat的conf目录下的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: workspacehelloWebRoot" debug="0" privileged="true"> 
    </Context>
    或者
    <Context path="/myapp" reloadable="true" docBase="D:myapp" workDir="D:myappwork"/>
    或者
    <Context path="/sms4" docBase="D:workspacesms4WebRoot"/>

    说明:
    path是虚拟路径;
    docBase 是应用程序的物理路径;
    workDir 是这个应用的工作目录,存放运行时生成的与这个应用相关的文件;

    debug 则是设定debug level, 0表示提供最少的信息,9表示提供最多的信息
    privileged设置为true的时候,才允许Tomcat的Web应用使用容器内的Servlet
    reloadable 如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib 和/WEB-INF/classes目录的变化,自动装载新的应用程序,可以在不重起tomcat的情况下改变应用程序,实现热部署
    antiResourceLocking和antiJARLocking 热部署是需要配置的参数,默认false避免更新了某个webapp,有时候Tomcat并不能把旧的webapp完全删除,通常会留下WEB-INF/lib下的某个jar包,必须关闭Tomcat才能删除,这就导致自动部署失败。设置为true,Tomcat在运行对应的webapp时,会把相应的源文件和jar文件复制到一个临时目录里。
    3、创建一个Context文件 
    在conf目录中,新建 Catalina\localhost目录,在该目录中新建一个xml文件,名字不可以随意取,要和path后的那个名字一致,按照下边这个path的配置,xml的名字应该就应该是hello(hello.xml),该xml文件的内容为:
    <Context path="/hello" docBase="E:workspacehelloWebRoot" 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,还要将Tomcat的confcatalinalocalhost目录下相应的xml文件删除,否则Tomcat仍会去配置并加载。。。
    二、动态部署
        动态部署是指可以在服务器启动之后部署web应用程序,而不用重新启动服务器。动态部署要用到服务器提供的manager.war文件,如果在$CATALINA_HOMEwebapps下没有该文件,你必须去重新下载tomcat,否则不能完成以下的功能。要想使用该管理程序必须首先编辑$CATALINA_HOMEconf omcat-users.xml文件,内容如下:关于这个文件的更多内容,请参考Java Web应用程序的安全模型二

    然后在浏览器中键入如下地址:
    http://localhost:8080/应该看到一个漂亮的加菲猫了吧。点击左边的Tomcat Manager链接,提示输入用户名和密码,本文都是coresun,然后可以看到以下页面:

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

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


  • 相关阅读:
    P2184 贪婪大陆
    codeforces-1348-D Phoenix and Science
    联系我
    留言板
    友链
    java集合ArrayList按指定字段排序
    linux下设置oracle开机自启动
    微信公众号开发参考教程
    java生成快递单并调用打印机打印
    java生成128A条形码
  • 原文地址:https://www.cnblogs.com/t0404/p/10291083.html
Copyright © 2011-2022 走看看