zoukankan      html  css  js  c++  java
  • 将web应用部署到Tomcat的三种方式

    方式一

    如果决定给每一个上下文都创建一个XML文件(第一种方式),那么这文件名就很重要了,因为上下文路径就是从这个文件名的衍生得到的。例如,将一个Demo1.xml文件放在conf/Catalina/localhost目录下,那么这个应用程序的上下文路径就是Demo1,访问的URL就为:http://localhost:8080/Demo1

    这个上下文文件只有一行代码:

    <?xml version="1.0" encoding="UTF-8"?>
    <Context docBase="d:/Demo1" reloadable="true"></Context>

    这里的docBase是必须的属性,它定义了应用程序的位置。reloadable属性是可选的,如果存在并且值为true,那么一旦程序中Java类文件或者是其他资源文件有任何添加,减少或者是更新,Tomcat都可以检测到,并且重新加载该应用程序

    当把上下文文件添加到Tomcat的指定目录下,Tomcat就会自动加载应用程序。当删除这个文件时,Tomcat就会自动卸载应用程序(Eclipse和Idea都是利用这种方式部署项目的,所以去Tomcat部署目录中是找不到项目根目录及资源文件的,这些文件存在于IDE项目的工作空间中)

    方式二

    在conf/server.xml文件中的Host标签下添加一个Context元素

    <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
          <Context path="/Demo2" docBase="d:/Demo1" reloadable="true"></Context>
    </Host>

    以第一种方式不同之处在于此处定义上下文需要给上下文路径定义path属性,这个path属性的值表示需要访问的项目名,访问的URL就为:http://localhost:8080/Demo2

    一般来说,不建议通过server.xml来管理上下文,因为修改了Tomcat配置文件。不过,如果有多个应用程序需要测试,使用这种方式或许更为方便,因为可以在一个文件中同时管理所有的应用程序

    方式三

    通过将一个war文件或者整个应用程序复制到Tomcat的webapps(Tomcat默认的部署项目位置,可以在server.xml文件中修改,但不建议修改)目录下,启动服务器之后就会解压这个war,解压到部署项目位置。(MyEclipse就是将项目根目录部署到Tomcat中,所以会在Tomcat中找到项目根目录及资源文件)

    在不去修改Tomcat参数,如reloadable的情况下

    1.如果在Tomcat运行中修改了jsp等资源文件后,不需要重新也能生效,如果是class文件则需要重启。

    2.如果只是修改解压后的文件夹里面的class文件,没有修改war包里面的文件,重新运行Tomcat不会覆盖修改的class文件。

    3.如果在Tomcat运行中删除war包,则会同时删除war解压的目录

    4.如果修改java文件后生成的war包覆盖Tomcat的war包后,重新运行Tomcat会删除原来解压war生成的文件夹,在重新解压新的war包

  • 相关阅读:
    Android 经典文章
    Android 性能优化概念(1)
    spring mvc 多线程并发
    Java 线程并发
    Android MVC理解(1)
    写给25岁的你和25岁自己
    Android github 优秀项目
    Spring MVC
    Android View, Window,Activity概念区分(2)
    Android 屏幕相关概念(1)
  • 原文地址:https://www.cnblogs.com/grasp/p/10031978.html
Copyright © 2011-2022 走看看