部署描述符(web.xml)和标注(annotation)
部署描述符(web.xml)
详细信息可在http://www.oracle.com/webfolder/technetwork/jsc/xml/ns/javaee/index.html上下载web-common_4_0.xsd
部署描述符必须被命名为web.xml,并且位于WEB-INF目录下;
Java类必须放置在WEB-INF/classes目录下;
Java类库必须放置在WEB-INF/lib目录下。
在Servlet3.0之前,部署工作必然用到部署描述符,即web.xml文件,在该文件中配置应用程序的各个方面。
<web-app>是文档的根元素,其子元素可以以任何顺序出现。
<Servlet>元素
<servlet-mapping>元素
<!-- 一个简单的部署描述符 --> <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0"> <!-- 第一个Servlet映射 --> <servlet> <servlet-name>SimpleServlet</servlet-name> <servlet-class>app01c.SimpleServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>SimpleServlet</servlet-name> <url-pattern>/simple</url-pattern> </servlet-mapping> <!-- 第二个Servlet映射 --> <servlet> <servlet-name>WelcomeServlet</servlet-name> <servlet-class>app01c.WelcomeServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>WelcomeServlet</servlet-name> <url-pattern>/welcome</url-pattern> </servlet-mapping> </web-app>
标注(annotation)
Servlet3.0引入了标注功能,可以部分的替代部署描述符。
标注都在包 javax.servlet.annotation 中。
可通过查看相应的标注类型来查看其相应标注的用法。
@WebServlet标注
该标注用来声明Servlet的配置
只有继承了HttpServlet的Servlet才能使用该标注
value和urlpatterns不能同时使用
@WebServletd( name = "DemoServlet", urlPatterns = {"/path1", "/path2",...}, loadOnStartup = 1, initParams = {@WebInitParam(name = "test1", value = "val1"), @WebInitParam(name = "test2", value = "val2")} ) public class DemoServlet extends HttpServlet{ ... }