web.xml 总结
作用
存储项目相关的配置信息,保护 Servlet。解耦一些数据
使用位置
每个 Web 项目中
Tomcat 服务器中(在服务器目录 conf 目录中)
区别
Web 项目下的 web.xml 文件为局部配置,针对本项目的位置。
Tomcat 下的 web.xml 文件为全局配置,配置公共信息。
内容(核心组件)
全局上下文配置(全局配置参数)
Servlet 配置
过滤器配置
监听器配置
加载顺序
Web 容器会按 ServletContext -> context-param -> listener ->filter-> servlet 这个顺序加载组件,这些元素可配置在 web.xml文件中的任意位置
项目的web.xml和Tomcat的web.xml都在服务器启动的时候进行加载
Tomcat 的 server.xml
浏览器发起请求后,服务器根据请求在 webapps 目下调用对应的 Servlet 进行请求处理。 server.xml 文件的配置信息
Server.xml 文件核心组件:
<Server>
<Service>
<Connector/> <!--配置端口号-->
<Connector/>
<Engine> <!--引擎,一个Tomcat的Service只能有一个Engine-->
<Host>
<!--里面有name="localhost" 找到对应的文件夹,再根据对应的URI找到项目-->
<Context/>
<!--热部署:
<Context path="/xxx" reloadable="true" docBase="xxx" />
path——访问的时候写的是虚拟项目名,path="/xxx", +servlet的别名
reloadable——true代表自动加载,一改变就自动加载
docBase——写WebRoot绝对路径
-->
</Host>
</Engine>
</Service>
<!--一个server下面可以配置多个service-->
</Server>
注:如果使用热部署,部署的项目自己删掉了,那么一定要在server.xml中删掉,不然服务器启动不了