我在工作:
,使用:
这是我申请的结构:
类:
JSP:
我通过扩展 ResourceConfig 来配置我的应用程序:
AppConfigs.java。
这是资源类:
ForumsController.java
问题是我得到 404-Not found (for:http://localhost:8080/StudSiteProj/)。
请你帮我理解原因是什么? 我在中指定了一个绝对路径返回new Viewable(..),所以我猜应用程序应该使用此路径搜索 index.jsp 。为什么这不起作用?
答案 0 :(得分:0)
我终于找到了解决方案。
我发现了2个问题:
原因:
The way @ApplicationPath annotation was written.
<强> 结论: 强>
不应该像:
或
或
<强> 解决方案: 强>
所以现在我的 AppConfigs 类是:
原因:
JspMvcFeature.TEMPLATE_BASE_PATH property was not set.
<强> 结论: 强>
我明白通过查看apidocs here可能会遗漏这个属性。它说:
所以,如果没有,我必须设置一些。
<强> 解决方案: 强>
我将其设置为: / WEB-INF / app / views
现在,我的 AppConfigs 类看起来像这样:
资源类 ForumsController 现在是:
看,它只是:
,因为JspMvcFeature.TEMPLATE_BASE_PATH
中的值将以它为前缀。所以“index.jsp”将被搜索到:
此路径与servlet上下文路径相关(例如:对于我的项目,名为 StudSiteProj ,上下文路径为 / StudSiteProj )。
这里我使用绝对路径(Viewable中指定的路径)。 但是在Jersey MVC(相对路径)中存在另一种方法。 Here是我在另一个stackoverflow页面上回答我的问题=。