rest - 使用 jersey 和 java 在 Restful Web 应用程序中提供 HTML/JSP

标签 rest jersey web.xml

我似乎无法弄清楚。尝试使用注释和 web.xml 来配置 Web 内容的路径,但不断获取未知资源。

Jersey 主要:

@ApplicationPath("/")
public class App extends PackagesResourceConfig {
   public App() {
        super("webapp.resources");
    }
}

Jersey 默认路径“/”:(hello world 有效!index.html\jsp 无效)

@Path("/")
@Produces(MediaType.TEXT_HTML)
public class RootResource
{
    @GET 
    public String index(@Context HttpServletRequest request) {
        return "hello world";
    }
}

我尝试过的:

  1. 多个 web.xml 配置
  2. 提供可视内容(错误无法解析模板index.jsp)

您认为提供 html 或 jsp 等页面的解决方案是什么?

有没有办法用 Jersey (没有 Spring !)和可查看\模板来做到这一点?

最佳答案

回答我的问题。 futuretelematics 的解决方案应该适合大多数人。这是一个已知且有效的解决方案。那么为什么当我这样做时不起作用:

问题 1: 经过一番摆弄后,我发现一旦我将应用程序根路径从“/”更改为“/api”(或/???),突然一切都开始正常进行。一定是一件 Jersey 的东西。我在某处读到,为了使“/”工作,您应该在 web.xml 中使用过滤器进行映射。我很想听听是否有人成功做到了这一点。

所以现在它使用 JSP 为我的初始页面提供服务。我可以以其他方式使用 json 操作该页面。

问题 2: 使 @viewable 工作只需在 WebContent 中创建正确的文件夹结构路径 (com/webapp/model/index(<-- jsp)) 即可。这就是可视页面重定向的工作原理。

关于rest - 使用 jersey 和 java 在 Restful Web 应用程序中提供 HTML/JSP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18220349/

相关文章:

java - 具有不同 PathVariable 的相同 rest 端点

java - 如何验证@PathVariable是否已设置?

java - Jersey 1.6 和 Spring 3.0.5 使用 Maven

java - 如何在一个 Spring 应用程序的 web.xml 中注册多个 servlet

java - Tomcat 8 找不到自定义 tld

rest - OpenAPI 中标签的确切用途以及它们为何独一无二

java - org.glassfish.hk2.api.UnsatisfiedDependencyException : There was no object available for injection at Injectee

java - 在 Jersey 中处理多个查询参数

java - 如何从 web.xml 捕获同一页面的所有错误?

git - 使用 REST API 在 gerrit 中检索项目的目录结构