tomcat的部署方式

目录

一. tomcat的部署方式

1》 在部署目录部署war包

方法演示:

2》 通过server.xml部署

怎么快速找到项目路径?

3》 独立部署文件

步骤演示:

二. eclipse中的tomcat配置

三. 关于web监听器


一. tomcat的部署方式

tomcat常见三种部署方式

1》 在部署目录部署war包

这种方式部署最简单,也是在最常用的一种方式,如:在tomcat的server.xml文件中有如下配置:



   ......

此文件说明虚拟服务器localhost,使用webapps作为部署目录,只要将war包部署在该目录中即可完成部署,

  • unpackWARs参数表示,tomcat会对部署在webapps目录中的war文件自动解压,如果为false,则不执行自定解压,但会影响程序的运行效率,
  • autoDeploy表示自动部署,即热部署

方法演示:

找到需要部署的项目,右键导出,如下图:

tomcat的部署方式_第1张图片

将项目导出到webapps中

tomcat的部署方式_第2张图片

tomcat的部署方式_第3张图片

 

注:这种方式也可以直接部署文件夹,但要求部署的文件夹要符合web目录的标准

2》 通过server.xml部署

      



        









      

path:项目名

docBase:需要部署的项目路径

怎么快速找到项目路径?

首先找到需要拿到的项目文件,右键点击properties

tomcat的部署方式_第4张图片

点击下图画红圈的地方 

 tomcat的部署方式_第5张图片

就可以找到路径了

tomcat的部署方式_第6张图片 

注:这种方式需要修改server.xml,不建议使用

3》 独立部署文件

  1. 首先来到 \conf\Catalina 目录,
  2. 然后再依据虚拟服务器名称一致的方式,创建一个目录(如:localhost)
  3. 创建一个xml文件,完成项目部署,文件名与部署项目的上下文名称对应,例如:webdemo.xml,内容如下:

步骤演示:

1.

tomcat的部署方式_第7张图片

2.

tomcat的部署方式_第8张图片

 3.tomcat的部署方式_第9张图片

 4.如果不用了,为了方便下次用的话,可以更改名字,下次再用就改回来

tomcat的部署方式_第10张图片


二. eclipse中的tomcat配置

1) eclipse 中 tomcat的基本配置
2) eclipse 中 tomcat的运行基本原理

eclipse中tomcat程序运行的原理:

当在服务器上运行后,会生成与工程文件并列的一个文件夹:Servers。如下:(如果删掉了Servers文件夹,当重新运行时,文件夹又会自动生成)

tomcat的部署方式_第11张图片

这个文件夹是Tomcat服务器的一个基本的配置。

上图中表明,我们新建的项目已经部署到Tomcat服务器上去了,也就是看到了TomcatTest这个工程被发布出去了(发布的过程即:将写的工程打包以后放到Tomcat里)。

其实eclipse for EE已经包含了Tomcat服务的插件,但其也必须依赖Tomcat来启动。我们双击上图的红框部分,显示如下信息:

tomcat的部署方式_第12张图片

上图的红框部分表明,服务的部署是在eclipse里面(默认是放在工作空间里的.metadata文件夹下),而不是在Tomcat里面。我们来改一下,前提是工程并没有发布到Tomcat中去,那我们先把之前发布的版本删了吧(稍后重新发布):

tomcat的部署方式_第13张图片  

然后就可以修改部署的路径了:

tomcat的部署方式_第14张图片

 

上图中,使用Tomcat的安装目录作为部署的位置,并修改部署的路径Deploy path(建议改成Tomcat的webapps目录下),然后保存即可。这时,重新运行程序。现在来到Tomcat的webapps目录下,发现多了一个TomcatTest文件夹(即工程文件名),并且文件夹下包含了工程文件中WebContent的内容:

tomcat的部署方式_第15张图片  

上图说明,说明这才是真正将程序发布到服务器上。

我们再来到Tomcat的work目录中,看一下编译之后的文件:

tomcat的部署方式_第16张图片 

上图表明,Tomcat会先将jsp文件转为java文件,然后再把java文件编译为class文件,最终执行的是class文件

3) 常见问题及处理

可以去参考别的优秀博主的文章


三. 关于web监听器

web监听器的类型:

  • ServletContextListener 监听Context对象的创建与销毁,Context即web应用
  • ServletContextAttributeListener 监听在Context中发生增加,更新,删除对象的事件
  • HttpSessionListener 监听session对象的创建与销毁
  • HttpSessionAttributeListener 监听在session中发生的增加,更新,删除对象的事件
  • ServletRequestListener 监听request对象的创建
  • ServletRequestAttributeListener 监听在session中发生的增加,更新,删除对象的事件

以上6中监听器,需要在web.xml中进行配置,除以上6种监听器还有下面两种监听器:

  • HttpSessionBindingListener  当对象被放入session里执行valueBound,被移除时执行valueUnbound
  • HttpSessionActivationListener 服务关闭时可以使用该监听器将session数据持久化到磁盘,服务重启会session数据会从磁盘重新加载,对应的使用示例可以参考tomcat01

以上两个监听器主要用于对session内对象的监听, 与上面的6中监听器不同的是,这两种监听器虽然需要实现对应的Listener接口,但不用在web.xml中配置。

你可能感兴趣的:(tomcat,服务器,java)