Tomcat系列(11)——Tomcat 部署web应用的4种方法

核心内容

1.在Tomcat中有四种部署Web应用的方式,分别是:

(1)利用Tomcat自动部署(项目直接拷贝OR WAR包拷贝 到webapps下)

(2)利用控制台进行部署(tomcat的manager控制台的deploy区域

(3)增加自定义的Web部署文件(%Tomcat_Home%\conf\Catalina\localhost\AppName.xml)

(4)手动修改%Tomcat_Home%\conf\server.xml文件来部署web应用

2.SpringBoot WEB项目两种发布和部署方式

(1)通过WAR包

(2)通过JAR包(官网推荐)

3.springboot有3中热部署方式:

(1)使用springloaded配置pom.xml文件,使用mvn spring-boot:run启动

(2)使用springloaded本地加载启动,配置jvm参数   -javaagent:<jar包地址> -noverify

(3)使用devtools工具包,操作简单,但是每次需要重新部署

1. Tomcat中有四种部署Web应用的方式

第一种方式:利用Tomcat自动部署

利用Tomcat自动部署方式是最简单的、最常用的方式。若一个web应用结构为D:\workspace\WebApp\AppName\WEB-INF\*,只要将一个Web应用的WebContent级的AppName直接扔进%Tomcat_Home%\webapps文件夹下,系统会把该web应用直接部署到Tomcat中。所以这里不再赘述。

第二种方式:利用控制台进行部署

若一个web应用结构为D:\workspace\WebApp\AppName\WEB-INF\*,利用控制台进行部署的方式如下:进入tomcat的manager控制台的deploy区域——在Context path中键入"XXX"(可任意取名)——在WAR or Directory URL:键入D:\workspace\WebApp\AppName (表示去寻找此路径下的web应用)——点击deploy按钮。

  

          然后在%Tomcat_Home%\webapps路径下将会自动出现一个名为XXX的文件夹,其内容即是D:\workspace\WebApp\AppName的内容,只是名字是XXX而已(这就是前面在Context path键入XXX的结果)。

以上说明利用控制台进行部署的实质仍然是利用Tomcat的自动部署。

第三种方式:增加自定义的Web部署文件

若一个web应用结构为D:\workspace\WebApp\AppName\WEB-INF\*,这种部署方式稍微复杂一点,我们需要在%Tomcat_Home%\conf路径下新建一个文件夹catalina——再在其中新建一个localhost文件夹——最后再新建一个XML文件,即增加两层目录并新增XML文件:%Tomcat_Home%\conf\Catalina\localhost\web应用配置文件.xml ,该文件就是部署Web应用的配置文件。

  例如,我们新建一个%Tomcat_Home%\conf\Catalina\localhost\XXX.xml,  该文件的内容如下:

 <Context path="/XXX" reloadable="true" docBase="D:\workspace\WebApp\AppName" workDir="D:\workspace\WebApp\work"/> 注意: (1)以上代码中的workDir表示将该Web应用部署后置于的工作目录(Web应用中JSP编译成的Servlet都可在其中找到),如果使用的Eclipse作为IDE,一般可人为设置在WebApp的work目录下。 如果自定义web部署文件XXX.xml中未指明workdir,则web应用将默认部署在%Tomcat_Home%\work\Catalina\localhost\路径下新建的以XXX命名的文件夹下。(Web应用中JSP编译成的Servlet都可在其中找到) (2)Context path即指定web应用的虚拟路径名。docBase指定要部署的Web应用的源路径。

其实开发者可以使用安装有Tomcat插件eclipse自动创建部署文件来部署Web应用而不必再手动建立该文件,方法如下:

1. 打开Eclipse——打开菜单栏window选择preference(首选项)——左侧选择Tomcat,如下图示:

2. 可以看到上图中高亮画出的Context declaration mode(Context 声明模式)中选择以Context files增加自定义部署文件的形式部署web应用——然后Contexts directory中指定上述文件的上级目录(即%Tomcat_Home%\conf\Catalina\localhost )——点击Apply或OK。

3. 完上述步骤,再选中Web项目右键点击properties(属性)——选择右侧的Tomcat ,如下图所示:

4. 勾上"Is a Tomcat project"前的checkbox,将项目关联至Tomcat。

在Context name中填入XXX,即Web应用自定义部署文件名和Context path名。

在Subdirectory to set as web application root (optional)中填入要部署的Web应用的实际路径(即WEB-INF上级目录)。

注意:Eclipse会自动地将workdir设置在Workspace\WebApp\work下。

如此便自动创建了%Tomcat_Home%\conf\Catalina\localhost\XXX.xml 文件。启动Tomcat 即可自动部署Web应用。

第四种方式:手动修改%Tomcat_Home%\conf\server.xml文件来部署web应用

此方法即打开%Tomcat_Home%\conf\server.xml文件并在其中增加以下元素:

   <Context docBase="D:\workspace\WebApp\AppName" path="/XXX" debug="0" reloadable="false" />

然后启动Tomcat即可。

当然如果使用Eclipse,在Eclipse中的设置也有改变:打开菜单栏window选择preference(首选项)——左侧选择Tomcat——可以看到上图中高亮画出的Context declaration mode(Context 声明模式)中选择以Server.xml文件来部署web应用。

  

2. SpringBoot WEB项目两种发布和部署方式

(1)通过WAR包

(2)通过JAR包(官网推荐)

1. WAR

  传统的部署方式:将项目打成war包,放入tomcat 的webapps目录下面,启动tomcat,即可访问。

  步骤1:在pom.xml文件中将jar修改为war【<packaging>war</packaging>】

  步骤2:在pom.xml文件中将配置文件添加tomcat模块【】  

<!-- 不使用内置的tomcat  -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <!-- 移除tomcat插件 -->
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
    </exclusions>
</dependency>

<!-- 移除之后会报错,加入下面的依赖 -->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <scope>provided</scope>
</dependency>

<!-- 使用内置的tomcat  -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
      <artifactId>provided</artifactId><!--仅用于编译和测试-->
</dependency>

  步骤3:在main方法处的启动类基继承

  

  步骤4:在pom.xml点击右键选择Maven install,会在target文件夹中生成xxx.war包

2. JAR

  步骤1:在pom.xml文件点击右键,选择“Maven install”,然后刷新target文件夹,在target中会产生xxx.jar包。

  步骤2:然后在cmd终端输入代码:java -jar xxx.jar ,发布成功

  步骤3:在浏览器输入localhost等url进行访问

3. JAR VS WAR

  

4. 线上部署

方式一:java -jar vodmanager.jar &           后台关闭后,服务不会中断

方式二:nohup java -jar vodmanager.jar &  后台关闭后,服务不会中断,并且会把输出的文件信息写在当前目录下的nohup文件中。

3. SpringBoot热部署三种方式

springboot有3中热部署方式:

1.使用springloaded配置pom.xml文件,使用mvn spring-boot:run启动

2.使用springloaded本地加载启动,配置jvm参数   -javaagent:<jar包地址> -noverify

3.使用devtools工具包,操作简单,但是每次需要重新部署

第一种:使用springloaded配置pom.xml文件

1. 原来的pom.xml文件中添加如下配置

<build>
     <plugins>
          <plugin>
               <groupId>org.springframework.boot</groupId>
               <artifactId>spring-boot-maven-plugin</artifactId>
               <dependencies>
                    <dependency>
                         <groupId>org.springframework</groupId>
                         <artifactId>springloaded</artifactId>
                         <version>1.2.6.RELEASE</version>
                    </dependency>
               </dependencies>
          </plugin>
     </plugins>
</build>

注意:需要在spring-boot-maven-plugin中添加dependency

2.启动方式变为maven启动:在项目的文件夹dos窗口输入命令mvn spring-boot:run

    注意:停止服务是只能使用ctrl+c, 如果设置后台启动,需要kill进程

第二种:springloaded本地加载启动,配置jvm参数

1.下载springloaded工具包到一个指定目录(或直接就用maven仓库地址了)

2.在启动项目时,在jvm参数中输入命令

  -javaagent:D:\Maven\repository\org\springframework\springloaded\1.2.6.RELEASE\springloaded-1.2.6.RELEASE.jar -noverify

扩展: -javaagent:命令后面跟冒号,意思是在执行main方法之前执行特定代码

       -noverify 关闭java字节码校验功能

第三种:使用devtools工具包

1.在pom.xml中添加依赖

<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-devtools</artifactId>
     <optional>true</optional>
</dependency>

2.启动项目

总结

在开发测试环境下第三种可取,方便快捷

在生产环境下,建议使用第二种,使用脚本启动

抄录网址

  1. tomcat部署web应用的4种方法
  2. Spring Boot项目的两种发布方式
  3. 开发笔记9:SpringBoot打包部署的三种方式
  4. Spring-Boot启动方式,以及线上部署

原文地址:https://www.cnblogs.com/haimishasha/p/10791454.html

时间: 2024-08-06 00:23:45

Tomcat系列(11)——Tomcat 部署web应用的4种方法的相关文章

tomcat部署web应用的4种方法

在Tomcat中有四种部署Web应用的方式,简要的概括分别是: (1)利用Tomcat自动部署 (2)利用控制台进行部署 (3)增加自定义的Web部署文件(%Tomcat_Home%\conf\Catalina\localhost\AppName.xml) (4)手动修改%Tomcat_Home%\conf\server.xml文件来部署web应用 第一种方式:利用Tomcat自动部署 利用Tomcat自动部署方式是最简单的.最常用的方式.若一个web应用结构为D:\workspace\WebA

在Tomcat服务器上部署web应用程序常见的方法

一般在tomcat服务器上部署 java web应用程序有两种方式:静态和动态 一.静态部署 静态部署即在启动tomcat服务器之前部署好我们的web应用程序,只有当tomcat服务器启用后,我们的web应用程序才能被访问) 1.利用tomcat自动部署 将web应用程序拷贝到/usr/local/tomcat/webapps/下,然后重启tomcat服务器即可,此时由于配置文件配置了autoDeploy="true,tomcat启动此将自动加载该web应用 2.修改server.xml文件部署

tomcat部署web项目的三种方式

一.利用webapps文件夹自动部署 这是最简单的方式,只要将网站直接拷贝到:tomcat根目录下的webapps文件夹里 举例:helloworld文件夹下创建里index.html文件,然后把helloworld文件夹移动到tomcat根目录下webapps文件夹里,重启tomcat. 打开浏览器在原tomcat网址后面加上/helloworld就会自动打开网站 如果不想?在访问我们的项目内容时,必须加上我们的项目名字"helloworld",如果不想这样可以编辑conf/serv

Tomcat部署Web项目的3种方式

一.将war包丢进webapps 这是最简单粗暴的方式:将web工程打成war,丢进tomcat/webapps目录即可,tomcat会自动解压.无需修改任何配置文件即可完成部署. 这里我准备了tomcat8.5.43与dubbo控制台的war包来做测试. ①启动tomcat ②将war丢进webapps目录,tomcat会自动解压该war包. 浏览器直接访问:localhost:8080/dubbo-admin-2.5.10,说明我们的war包部署成功! 二.配置Service.xml部署We

012在Tomcat下如何手动部署Web应用

实例说明 通过对Tomcat目录的了解可知,webapps文件夹是存放工程包的位置.本实例主要介绍如何手动部署Web应用. 关键技术 这种context片段提供了一种便利的方法来部署Web应用,不需要编辑server.xml,除非想改变默认的部署特性,在安装一个新的Web应用时不需要重新启动Tomcat. 设计过程 复制war文件或者web应用文件夹包括(包括Web下的所有内容)到$CATALINA_BASE/webapps目录下. 为Web服务建立一个只包含context内容的XML片段文件,

【转载】tomcat部署web项目的3中方法

转载自:http://blog.csdn.net/wjx85840948/article/details/6749964/ 1.直接把项目复制到Tomcat安装目录的webapps目录中,这是最简单的一种Tomcat项目部署的方法,也是初学者最常用的方法. 2.在tomcat安装目录中有一个conf文件夹,打开此文件夹,其中包含配置文件server.xml,打开配置文件,并在<host>和</host>之间插入如下语句. <Context    path="/hel

tomcat部署web项目的3中方法

1.直接把项目复制到Tomcat安装目录的webapps目录中,这是最简单的一种Tomcat项目部署的方法,也是初学者最常用的方法. 2.在tomcat安装目录中有一个conf文件夹,打开此文件夹,其中包含配置文件server.xml,打开配置文件,并在<host>和</host>之间插入如下语句. <Context    path="/hello"   docBase="F:\eclipse3.2\workspace\hello\WebRoot

Tomcat系列(3)——Tomcat 组件及架构核心部分

1.架构图 2. 定义 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,它早期的名称为catalina,后来由Apache.Sun 和其他一些公司及个人共同开发而成,并更名为Tomcat.Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选,因为Tomcat 技术先进.性能

Tomcat系列(6)——Tomcat处理一个HTTP请求的过程

Tomcat的架构图   图三:Tomcat Server处理一个HTTP请求的过程 处理HTTP请求过程 1.用户点击网页内容,请求被发送到本机端口8080,被在那里监听的Coyote HTTP/1.1 Connector获得. 2.Connector把该请求交给它所在的Service的Engine来处理,并等待Engine的回应. 3.Engine获得请求localhost/test/index.jsp,匹配所有的虚拟主机Host. 4.Engine匹配到名为localhost的Host(即