目录
tomcat常见三种部署方式
1.在部署目录部署war包
这种方式部署最简单,也是在最常用的一种方式,如:在tomcat的server.xml文件中有如下配置:
<Host name="localhost" appBase="webapp" unpackWARs="true" autoDeploy="true">
......
</Host>
首先在eclipse里选择项目,右键选择Export(如图):
然后选择WAR file:
选择 导出项目的路径:
将你导出的项目放到 tomcat\apache-tomcat-8.5.42\apache-tomcat-8.5.42\webapps目录里(以tomcat-8.5.42为例),启动服务在webapps里生成一个demo02文件夹(这是我导出来的项目)。
此文件说明虚拟服务器localhost,使用webapps作为部署目录,只要将war包部署在该目录中即可完成部署,unpackWARs参数表示,tomcat会对部署在webapps目录中的war文件自动解压,如果为false,则不执行自定解压,但会影响程序的运行效率,
autoDeploy表示自动部署,即热部署。
注:这种方式也可以直接部署文件夹,但要求部署的文件夹要符合web目录的标准
2 .通过server.xml部署
<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>
这种方式需要修改server.xml,不建议使用
3 .独立部署文件
a.首先来到 \conf\Catalina 目录
b.然后再依据虚拟服务器名称一致的方式,创建一个目录(如:localhost)
c.创建一个xml文件,完成项目部署,文件名与部署项目的上下文名称对应,例如:webdemo.xml,内容如下:
<Context path="/webdemo" docBase="D:\work\eclipsews\webdemo\WebContent"></Context>
eclipse中的tomcat配置
1.eclipse中tomcat的基本配置
这里可以参考我的另一篇文章(✿◡‿◡),我就不详细写了
https://blog.youkuaiyun.com/weixin_64938628/article/details/123707932
2.eclipse中tomcat的运行基本原理
这一部分感兴趣的小伙伴们可以看一看,这里我找了一篇另一位博主转载的一篇文章(抱歉
◑﹏◐,我没有找到这篇文章的原创)
https://blog.youkuaiyun.com/suhang1992/article/details/82838341?spm=1001.2014.3001.5502
关于web监听器
web监听器的类型:
1.ServletContextListener 监听Context对象的创建与销毁,Context即web应用
2.ServletContextAttributeListener 监听在Context中发生增加,更新,删除对象的事件
3.HttpSessionListener 监听session对象的创建与销毁
4.HttpSessionAttributeListener 监听在session中发生的增加,更新,删除对象的事件
5.ServletRequestListener 监听request对象的创建
6.ServletRequestAttributeListener 监听在session中发生的增加,更新,删除对象的事件
以上6中监听器,需要在web.xml中进行配置,除以上6种监听器还有下面两种监听器:
7.HttpSessionBindingListener 当对象被放入session里执行valueBound,被移除时执行valueUnbound
8.HttpSessionActivationListener 服务关闭时可以使用该监听器将session数据持久化到磁盘,服务重启会session数据会从磁盘重新加载,对应的使用示例可以参考tomcat01
以上两个监听器主要用于对session内对象的监听, 与上面的6中监听器不同的是,这两种监听器虽然需要实现对应的Listener接口,但不用在web.xml中配置。
这篇文章就到这里结束了,拜拜(* ̄3 ̄)╭。