Web.xml和server.xml学习
一、Web.xml文件使用总结
- 作用:
存储项目相关的配置信息,保护servlet。解耦一些数据对程序的依赖。 - 使用位置:
每个web项目中
Tomcat服务器中(在服务器目录conf目录中) - 区别:
Web项目下的web.xml文件为局部配置,针对本项目的位置;
Tomcat下的web.xml文件为全局配置,配置公共信息。 - 内容(核心组件):
全局上下文配置(全局配置参数)
Servlet配置
过滤器配置
监听器配置 - 加载顺序:
Web容器会按ServletContextcontext-paramlistenerfilterservlet这个顺序加载组件,这些元素可配置在web.xml文件中的任意位置。 - 加载时机:
Web.xml的加载时机是服务器启动时
二、Server.xml文件使用总结
- 问题:
浏览器发起请求后,服务器根据请求在webapps目录下调用对应的servlet进行请求处理。那么为什么是webapps目录难道不是其他的目录吗? - 解决:
了解server.xml文件的配置信息 - Server.xml文件核心组件
<server>
<service> //可以有多个
<Connector/> //端口号
<Connector/>
<Engine> //引擎,一个service下只能有一个该标签
<Host> //设置原文件所在文件夹的位置
<Context/> //热部署
</Host>
</Engine>
</service>
</servler>
- 热部署
<Context path=”/Pet” reloadable=”false” docBase=”F:/PetWeb” />
解释:
path写项目的虚拟路径 localhost:8080//Pet/(servlet别名)
docBase写到项目的webRoot文件夹的绝对路径
reloadable为true时自动加载,就不用重启了
缺点:
服务器启动时docBase的路径的项目被删除时,会报错,
服务器的该项目会启动失败;但其他的项目会正常启动;
- 冷部署
解释:
每次修改项目后,需要重启服务器;
优点:服务器启动时webapps下有什么加载什么;