【问题标题】:Jersey MVC: jsp issue: The requested resource is not availableJersey MVC:jsp问题:请求的资源不可用
【发布时间】:2017-04-24 18:56:59
【问题描述】:

我在:

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

,使用:

  • 泽西 2.25.1
  • 泽西 MVC
  • Apache Tomcat 7.0.76。

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

类:

jsp:

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

AppConfigs.java.

这是资源类:

ForumsController.java


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


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

【问题讨论】:

    标签: jersey jersey-2.0


    【解决方案1】:

    我终于找到了解决办法。


    我发现了 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's my answer to my question =) 在另一个 stackoverflow 页面上。

    【讨论】:

      猜你喜欢
      • 2015-07-11
      • 1970-01-01
      • 2014-04-13
      • 2018-02-07
      • 1970-01-01
      • 1970-01-01
      • 2020-10-01
      • 2015-05-19
      • 2015-05-26
      相关资源
      最近更新 更多