org.apache.catalina.core.StandardWrapperValve.invoke 在路径为的上下文中,Servlet[jsp]的Servlet.service()引发了具有根本原因的异常无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri
时间: 2024-05-07 10:18:25 浏览: 259
这个错误通常是由于 JSP 页面中使用了绝对路径而不是相对路径导致的。在 JSP 页面中使用绝对路径可能会导致在不同的上下文中引用错误的资源,因此最好使用相对路径。您可以通过以下几种方法解决这个问题:
1. 将 JSP 页面中的绝对路径改为相对路径。
2. 在 web.xml 文件中添加一个名为 `default-context.xml` 的上下文环境参数,其值为上下文路径。例如:
```
<context-param>
<param-name>default-context.xml</param-name>
<param-value>/your-context-path</param-value>
</context-param>
```
这将告诉 Tomcat 在解析 JSP 页面时使用相对于上下文路径的路径。
3. 如果您使用的是 Tomcat 8.5 或更高版本,可以将 `JspServlet` 的 `mapping` 属性设置为 `*.jsp`,并将 `JspServlet` 的 `mappedfile` 属性设置为 `false`,以便在解析 JSP 页面时使用相对路径。例如:
```
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>mappedfile</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
<multipart-config/>
<async-supported>true</async-supported>
<mapping>*.jsp</mapping>
</servlet>
```
这将告诉 Tomcat 在解析 JSP 页面时使用相对于上下文路径的路径,并且不会将 JSP 页面的路径映射到磁盘上的相应文件。
阅读全文