【tomcat】 部署web应用程序的4种方式

第一种: Tomcat自动部署

  将web应用程序打成的war包直接拖到%Tomcat_Home%\webapps文件夹下即可


第二种:修改%Tomcat_Home%\conf\server.xml文件

   //  添加<Context>元素,配置文件默认没有<Context>元素
    <Context docBase="${webAppAbsolutePath}" path="/XXX" debug="0" reloadable="false" />  
  • docBase:web应用程序所在的绝对路径
    • 不能打成war包,因为不支持动态部署;
    • 若path=“/”,访问时直接输ip+端口号就可以访问应用程序了;webapps路径下的ROOT项目访问不到了
    • 如果path="/XXX/",访问时需输ip+端口号+path访问应用程序;若输入ip+端口号,访问的则是webapps路径下的ROOT项目
  • path:web应用虚拟路径名
  • 可以配置多个context,但是docBase+path组合不能相同,否则tomcat起不来
  • 该方式不支持动态部署,建议在生产环境使用
  • 当然如果使用Eclipse,在Eclipse中的设置也有改变:打开菜单栏window选择preference(首选项)——左侧选择Tomcat——可以看到上图中高亮画出的Context declaration mode(Context 声明模式)中选择以Server.xml文件来部署web应用。
    在这里插入图片描述

第三种:独立的context xml文件

  在%Tomcat_Home%\conf路径下新建一个文件夹Catalina——再在其中新建一个localhost文件夹——最后再新建一个XML文件,即增加两层目录并新增XML文件:%Tomcat_Home%\conf\Catalina\localhost\XXX.xml,配置文件内容为:

<?xml version='1.0' encoding='utf-8'?>	  
<Context docBase="${webAppAbsolutePath}"  reloadable="true"  workDir=“XXX” />  
  • path:该方式部署时,path属性无效
  • workDir:web应用部署后存放的路径,项目名称为XXX.xml文件名,如果自定义web部署文件XXX.xml中未指明workdir,则web应用将默认部署在%Tomcat_Home%\work\Catalina\localhost\路径下新建的以XXX命名的文件夹下
  • 访问路径为 ip+端口号+XXX
  • 访问路径若写:ip+端口号,访问的是webapps\ROOT项目

第四种:利用Tomcat控制台部署

  启动tomcat,进入tomcat的manager控制台的deploy区域,在Context path中输入"XXX"(可任意取名),在WAR or Directory URL输入项目所在路径(不能是war的路径,否则会报错)
在这里插入图片描述

  • 这样部署的项目名称就变为了Context path的名称,在webapps/下面多了一个Context path名称的文件夹,内容为项目内容
  • 支持不停tomcat情况下,可动态部署
  • 1. 如访问manage权限不够,修改config\tomcat-users.xml为:
     <role rolename="admin-gui"/>
     <role rolename="manager-gui"/>
     <user username="admin" password="admin" roles="admin-gui,manager-gui"/>
    2.并将 webapps\manager\META-INF\context.xml 的下面内容解注(ip做了限制):
    <Valve className="org.apache.catalina.valves.RemoteAddrValve"
      allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
    

总结

  • 支不支持动态部署:指的的war是否能自动解压
  • reloadable:表示可以在运行时在classes与lib文件夹下自动加载类包。这个属性在开发阶段通常都设为true,方便开发;在发布阶段应该设置为false,提高应用程序的访问速度 ;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值