javaweb——嵌入tomcat

本文详细介绍了如何在Java Web项目中嵌入Tomcat,以提高开发效率并简化发布流程。通过创建和配置Engine、Host、Context及Connector,实现在不依赖外部Tomcat实例的情况下启动服务。同时,文章对比了Tomcat 6和Tomcat 7的内嵌启动差异,并提供了相应的bat脚本辅助部署。
摘要由CSDN通过智能技术生成

              原创文章,转载请注明出处

              该嵌入tomcat的实现可以直接运行类来启动tomcat,也可以在任意路径下运行bat文件启动tomcat,先看一下效果

              开发过程,只需要运行类即可

             

              发布过程,只需把war放在bin文件加下,配置的mode项改为release,运行bat文件即可

             

              嵌入Tomcat有以下好处:

              1、增加开发效率,不再需要下载tomcat,不再需要配置环境变量,不需要配置myeclipse。

              2、方便售后发布程序,将调用内嵌tomcat的java类调用放在一个bat文件中,只需要双击bat文件即可进行部署。

              3、从tomcat7开始,有自身的内嵌版本,大小非常的小。


             思路:

              1、普通java工程,内嵌一个tomcat,如果是tomcat7,请使用内嵌版本。该java工程负责一个事情,启动tomcat

              2、可配置化,可以启动指定的多个工程,可指定各个工程的context名称,域名或ip

              3、写一个bat脚本,方便任意路径进行部署


              如何实现tomcat的启动,tomcat6和tomcat7略有差异,这里分别来进行介绍

              我们先把tomcat需要的文件夹在工程中建立,conf,lib,webapps。conf中可以把tomcat中的context.xml和web.xml拷入,但是需要在代码中加载。

              lib中需要拷入的jar包如下:

              嵌入tomcat6

              1、tomcat lib下的所有jar包

              2、bin目录下的tomcat-juli.jar

              3、jdk中的tool.jar


              嵌入tomcat7

              tomcat7-embedded.zip下的所有jar包

             

              最后,需要将这些jar包加入到classpath下


              我们再看一下tomcat的结构

             

                也可以打开server.xml,很直观的可以看到其结构

                 1、tomcat6的启动         

                 按照tomcat的结构我们一步一步的来实现。

                 a、创建我们的tomcat服务

                       主要是通过Embedded类来进行启动的,该类表示tomcat结构中的一个Server

                        Embedded tomcat=new Embedded();

                       注意设置环境变量

                        tomcat.setCatalinaHome(TOMCAT_HOME);  

                        TOMCAT_HOME为tomcat在磁盘上的根路径

                 b、创建engine

                        需要先创建host

                        创建host需要先创建context

                        b.1、创建context

                              一个host可以有多个context

                              tomcat.createContext(CONTEXT_PATH, WEB_APP_PATH);

                             CONTEXT_PATH为访问的名称,可以任意指定,必须以"/"开头

                             WEB_APP_PATH为需要访问的工程路径,如果是源码环境,为WebRoot目录。如果是发布环境,直接为工程目录

                             其实这里的WEB_APP_PATH为docbase,也就是手动指定需要管理的web应用。如果使用appbase的话,会自动把该路径下的web应用进行管理

<
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值