天天看点

编写Servlet分配定制的URL

相关内容来自于“Servlet与JSP核心编程(第2版)”

web.xml(部署描述文件)中的servlet和servlet-mapping元素可以用来指定URL。

(1) web.xml 文件位置

      该文件总是放置在WEB-INF中

(2)如何为servlet赋予名称

使用servlet及其子元素servlet-name和servlet-class。

(3)如何为已赋予名称的servlet指定URL

       使用servlet-mapping及其子元素servlet-name和url-pattern。

(4)何时读取web.xml文件的内容

服务器只在启动的时候读取web.xml文件。

(5)servlet的命名

        命名servlet,我们需要用到web-app内servlet元素的servlet-name和servlet-class(完全限定类名)子元素。

(6)URL的指定

       要将URL赋予已命名的servlet,需要使用servlet-mapping元素的servlet-name(之前指定的名称)和url-pattern(URL前缀,由斜杠开始)子元素。

Sample 如下:

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">

  <display-name>TestHello</display-name>

  <welcome-file-list>

    <welcome-file>index.html</welcome-file>

    <welcome-file>index.htm</welcome-file>

    <welcome-file>index.jsp</welcome-file>

    <welcome-file>default.html</welcome-file>

    <welcome-file>default.htm</welcome-file>

    <welcome-file>default.jsp</welcome-file>

  </welcome-file-list>

   <servlet>

        <servlet-name>HelloWorld</servlet-name>

        <servlet-class>com.test.HelloWorld</servlet-class>

    </servlet>

    <servlet-mapping>

        <servlet-name>HelloWorld</servlet-name>

        <url-pattern>/HelloWorldTest</url-pattern>

    </servlet-mapping>

</web-app>