一个是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包含servlet
和servlet-mapping
条目。 servlet-mapping
条目包含url,servlet
条目包含我理解的servlet路径。
我无法理解web.xml中的上述条目。请帮我了解一下。
答案 0 :(得分:0)
来自Servlet规范: servlet-class元素包含完整 servlet的限定类名。
您指定容器(tomcat): org.apache.jsp.jsp.error_jsp是名为ErrorPage的Servlet的完全限定类名。
来自Servlet规范: servlet-mappingType定义了a之间的映射 servlet和url模式。
您指定容器使用url /jsp/errorpage.jsp的请求必须由服务器ErrorPage响应。
示例:
tomcat收到第一个(即自app启动以来对servlet的第一个请求)HTTP GET请求有url /jsp/errorpage.jsp;
tomcat加载类org.apache.jsp.jsp.error_jsp,创建类的实例,初始化servlet,然后调用servlet的doGet()方法。