web.xml是java web 工程web-app目录下的配置文件,但并不是所有的项目都必须有。它是用来初始化配置信息的。如,welcome页面,servlet、servlet-mapping,filter,listener,启动加载级别等。所以如果你的项目中没有用到这些,就不用web.xml文件来配置application。
tomcat下也有 web.xml,但一般情况下,服务器调用的都是项目工程下webapp目录下WEB-INF下面的web.xml~~~而且 web.xml 都是在WEB-INF文件夹下面。
使用maven建立项目的时候,pom.xml就相当于web.xml,而setting.xml就相当于server.xml。
server.xml
这个文件位于 tomcat 6 安装目录之下的 conf 目录之内,实际内容位于 /etc/tomcat6/server.xml。
正如该文件的扩展名所示,这是一个 xml 格式的文件,打开之后将会看到如下的结构:
<Server
port
="8005"
shutdown
="SHUTDOWN"
>
<Service
name
="Catalina"
>
<Executor
...... />
<Connector
...... />
<Connector
...... />
<Engine
name
="Catalina"
... >
<Host
name
="localhost"
... >
<Context
... />
</Host>
</Engine>
</Service>
</Server>
即一个由 Server->Service->Engine->Host->Context 组成的四层结构,从里层向外层分别是:
- Context: 即 Web 应用程序,一个 Context 即对于一个 Web 应用程序。
- Host:即虚拟主机,比如 www.dog.com 对应一个虚拟主机,api.dog.com 对于另一个虚拟主机。一个 Host 用于定义一个虚拟主机。(所谓的”一个虚拟主机”可简单理解为”一个网站”)
- Engine:一组虚拟主机的集合。比如www.dog.com 和 api.dog.com 可以组成一组虚拟主机集合。
- Service:一组 Engine 的集合,包括线程池 Executor 和连接器 Connector 的定义。
在tomcat中, web.xml和 server.xml都在conf目录下。