部署描述符(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{
    ...
}
原文地址:https://www.cnblogs.com/0820LL/p/9816018.html