【问题标题】:What does the following entry in web.xml refer to?web.xml 中的以下条目是指什么?
【发布时间】:2017-01-11 08:53:34
【问题描述】:

一个在ROOT下为webapps/ROOT/jsp/error.jsp,另一个在webapps/documents/jsp/errorpage.jsp下,我的web.xml条目如下

<servlet>
    <servlet-name>ErrorPage</servlet-name>
    <servlet-class>org.apache.jsp.jsp.error_jsp</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>ErrorPage</servlet-name>
    <url-pattern>/jsp/errorpage.jsp</url-pattern>
</servlet-mapping>

一般 web.xml 包含 servletservlet-mapping 条目。 servlet-mapping 条目包含 url,servlet 条目包含我理解的 servlet 路径。

我无法理解 web.xml 中的上述条目。请帮我了解一下。

【问题讨论】:

  • 您是否考虑过查阅文档?

标签: jsp tomcat servlets web.xml


【解决方案1】:

来自 Servlet 规范: servlet-class 元素包含完整的 servlet 的限定类名。

您向容器 (tomcat) 指定: org.apache.jsp.jsp.error_jsp 是名为 ErrorPage 的 Servlet 的完全限定类名。

来自 Servlet 规范: servlet-mappingType 定义了一个 servlet 和 url 模式。

您向容器指定使用 url /jsp/errorpage.jsp 的请求必须由服务器 ErrorPage 响应。

例子:

tomcat 接收到具有 url /jsp/errorpage.jsp 的第一个(即自应用程序启动后对 servlet 的第一个请求)HTTP GET 请求;

tomcat 加载 org.apache.jsp.jsp.error_jsp 类,创建该类的实例,初始化 servlet,然后调用 servlet 的 doGet() 方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-12
    • 2012-12-01
    • 2015-04-19
    • 1970-01-01
    • 2011-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多