Jersey MVC:jsp问题:请求的资源不可用

时间:2017-04-24 18:56:59

标签: jersey jersey-2.0

我在工作:

  • Eclipse(版本:Neon.1a版本(4.6.1))

,使用:

  • Jersey 2.25.1
  • Jersey MVC
  • Apache Tomcat 7.0.76。

这是我申请的结构:

enter image description here

类:

enter image description here

JSP:

enter image description here

我通过扩展 ResourceConfig 来配置我的应用程序:

AppConfigs.java。

enter image description here

这是资源类:

ForumsController.java

enter image description here

问题是我得到 404-Not found (for:http://localhost:8080/StudSiteProj/)。

enter image description here

请你帮我理解原因是什么? 我在中指定了一个绝对路径返回new Viewable(..),所以我猜应用程序应该使用此路径搜索 index.jsp 。为什么这不起作用?

1 个答案:

答案 0 :(得分:0)

我终于找到了解决方案。

我发现了2个问题:

第一个问题

原因:

    The way @ApplicationPath annotation was written.

<强> 结论:

不应该像:

enter image description here

enter image description here

enter image description here

<强> 解决方案:

所以现在我的 AppConfigs 类是:

enter image description here

第二个问题

原因:

    JspMvcFeature.TEMPLATE_BASE_PATH property was not set.

<强> 结论:

我明白通过查看apidocs here可能会遗漏这个属性。它说:

enter image description here

所以,如果没有,我必须设置一些。

<强> 解决方案:

我将其设置为: / WEB-INF / app / views

现在,我的 AppConfigs 类看起来像这样:

enter image description here

资源类 ForumsController 现在是:

enter image description here

看,它只是:

enter image description here

,因为JspMvcFeature.TEMPLATE_BASE_PATH中的值将以它为前缀。所以“index.jsp”将被搜索到:

enter image description here

此路径与servlet上下文路径相关(例如:对于我的项目,名为 StudSiteProj ,上下文路径为 / StudSiteProj )。

这里我使用绝对路径(Viewable中指定的路径)。 但是在Jersey MVC(相对路径)中存在另一种方法。 Here是我在另一个stackoverflow页面上回答我的问题=。