目录
一、Tomcat三种部署方式
-
在部署目录部署war包
这种方式部署最简单,也是在最常用的一种方式,如:在tomcat的server.xml文件中有如下配置:
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
......
</Host>
此文件说明虚拟服务器localhost,使用webapps作为部署目录,只要将war包部署在该目录中即可完成部署(关于<Host>包含的属性上篇文章有介绍就不一一解释了)
步骤:
1、打开eclipse点击项目右键找到Export选择WAR file
2、找到对应的路径
3、启动(startup.bat)验证是否成功
注:这种方式也可以直接部署文件夹,但要求部署的文件夹要符合web目录的标准
-
通过server.xml部署
步骤:
1、打开eclipse找到需要部署的项目右键webapp找到最底下的properties
2、点击红色框框标记处跳转到文件所在处 随后复制上方路径(点进webapp里面的路径)
3、打开server.xml 在Valve下方写入部署项目的语句
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> <!-- 部署web项目 --> <Context path="/webdemo" docBase="D:\work\eclipsews\webdemo\WebContent"></Context> </Host>
4、启动(startup.bat)测试是否成功
-
独立部署文件
步骤:
1、首先来到 \conf\Catalina\localhost 目录,
2、创建一个xml文件,完成项目部署,文件名与部署项目的上下文名称对应,例如:Tomcat3.xml,内容如下:
<Context path="/Tomcat3" docBase="E:\webeclipse\Tomcat3\src\main\webapp"></Context>
3、启动(startup.bat)测试是否成功
4、若想停用此项目可以重命名(命名同下),这样再去测试时页面就加载不出来了
二、eclipse中的tomcat部署目录
🔶当我们使用Eclipse将项目部署到Tomcat的时,我们发现,在Tomcat下的webapps目录下并没有我们创建好的项目,但是当通过Eclipse启动服务器后,项目却真的可以访问到,这是为什么呢?
实际上,Eclipse在使用Tomcat时,并没有将项目部署到Tomcat的目录下,而是在其工作空间中,创建了一个Tomcat的镜像,Eclipse启动的Tomcat是他自己配置的镜像。
Eclipse镜像所在目录:
我的工作空间目录\.metadata\.plugins\org.eclipse.wst.server.core\tmp0。 在这个目录下,我们会发现一个和Tomcat安装目录几乎一模一样的目录结构。
在这里Eclipse中Tomcat镜像配置文件也是独立的,而我们所创建的项目是部署到wtpwebapps目录下的,这样做的好处是Eclipse中Tomcat和我们本机的Tomcat可以保持相互独立,不会影响彼此。
🔘如何查看基本部署目录和部署目录?
eclipse里面双击服务器点击Open launch configuration然后选择箭头指向位置就可以看到部署目录了
三、关于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部署方式&eclipse中Tomcat的部署目录&web监听器的一些内容📖