部署描述符是JavaEE程序常见的一部分,部署一个Servlet 3 或以上应用程序是一件轻而易举的事。通过Servlet注解,对于不太复杂的应用程序,甚至可以部署没有描述符的Servlet/JSP应用程序。但是需要更加精细配置或是我们不能修改框架源码的情况,仍然需要部署描述符。首先,部署描述符必须命名为web.xml并位于WEB-INF目录下。Java类编译后class文件和配置文件都会放置在WEB-INF/classes目录下,而Java类库都放在WEB-INF/lib目录下,所有的应用程序资源打包成war为后缀的jar文件,这个war中包含WEB-INF(web.xml, classes,lib),页面资源。
在存在如下场景,部署描述符不能少:
- 需要传递全局初始化参数给ServletContext
- 有多个过滤器,并要设置调用顺序
- 需要修改会话超时设置
- 需要限制资源的访问,并配置用户身份验证方式