tomcat部署项目有多种方法,我们重点就来分享三种:
一.在部署目录部署war包
这是最简单也是最常见的一种方法
在eclipse中右键项目,在菜单中选择Export->WAR file,选择在tomcat里的webapps存放,重启startup.bat
二.在server.xml内部署
在tomcat中找到conf文件,找到server.xml,在虚拟机host里面进行修改填加<context> path填项目名加斜杠,docBase填路径
<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>
三.独立部署文件
在tomcat中conf\Catalina\localhost建立一个xml文件,在里面就可以直接填加
<Context path="/webdemo" docBase="D:\work\eclipsews\webdemo\WebContent"></Context>
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中配置。