我在Servlet类中创建了一个servlet映射为 / reskilling 。当我运行应用程序时,url包含项目名称。这是一个WebSphere Web应用程序,它是我的EAR项目的一部分。我需要ibm-web-bnd.xmi来解决这个问题吗?
这是我的web.xml
<display-name>HibernateReskillingWeb</display-name>
<servlet>
<description>Paid Up Plan List</description>
<display-name>PaidUpPlanServlet</display-name>
<servlet-name>PaidUpPlanServlet</servlet-name>
<servlet-class>za.co.test.PaidUpPlanServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>PaidUpPlanServlet</servlet-name>
<url-pattern>/reskilling</url-pattern>
</servlet-mapping>
<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>
错误信息如下所示......
HTTP Error Code: 404
Error Message:JSPG0036E: Failed to find resource /HibernateReskillingWeb/views/PaidUpPlan.jsp
Root Cause:java.io.FileNotFoundException: JSPG0036E: Failed to find resource /HibernateReskillingWeb/views/PaidUpPlan.jsp at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionProcessor.findWrapper(AbstractJSPExtensionProcessor.java:395)...
答案 0 :(得分:1)
此Web应用程序的上下文根是什么?从错误消息中它是 HibernateReskillingWeb
如果您没有对Context Root做任何事情,则默认值为Dynamic Web项目的名称。
您可以在application.xml中看到此值,您可以将其更改为您想要的任何内容。
是否存在一个名为views的目录,用于存储JSP?这就是Container正在寻找你的JSP。
当您尝试访问JSP时,servlet映射(您已经显示)在此处没有任何作用。
HTH