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

Jersey MVC: jsp issue: The requested resource is not available

我正在工作:

,使用:


这是我的应用程序的结构:

类:

Jsp:

我正在通过扩展 ResourceConfig:

配置我的应用程序

AppConfigs.java.

这是资源 class:

ForumsController.java


问题是我收到 404-Not found(对于:http://localhost:8080/StudSiteProj/)。


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

我终于找到了解决办法。


我发现了 2 个问题:

第一个问题

原因:

    The way @ApplicationPath annotation was written.

结论:

不应该是这样的:


解法:

所以现在我的 AppConfigs class 是:


第二题

原因:

    JspMvcFeature.TEMPLATE_BASE_PATH property was not set.

结论:

我通过查看 apidocs here 了解到这个 属性 可能是缺失的。它说:

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


解法:

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

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

资源 class ForumsController 现在是:

看,只有:

,因为JspMvcFeature.TEMPLATE_BASE_PATH中的值会加在它的前面。所以 "index.jsp" 将在以下位置搜索:

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


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