java - 授予 Jersey 访问 CSS 和 JS 文件的权限

标签 java jersey

我正在使用 Jersey 提供 JSP 文件(这可能不是最好的方法,请随意建议替代方案)

目前我正在使用的资源如下:

@Path("/home")
public class HomeResource{
    @GET
    public Viewable getView() {     
        return new Viewable("/home");
    }
}

问题是 home.jsp 依赖于样式文件 Home_style.css 并且没有 Jersey 端点来满足此要求,因此浏览器无法访问它。我可以做这样的事情:

public class HomeResource{
    @GET
    @Path("/home")
    public Viewable getView() {     
        return new Viewable("/home");
    }

    @GET
    @Path("/home_style")
    public Viewable getStyle() {        
        return new Viewable("/home_style");
    }
}

但我不想为我依赖的每个 css 或 javascript 文件创建端点。有没有一种方法可以让浏览器访问这些类型的文件,而无需在我的 java 代码中满足它?

<小时/>

项目布局

  • src/main/java/HomeResource.java
  • Web-Inf/home.jsp
  • Web-Inf/home_style.css
  • Web-Inf/web.xml

最佳答案

将您的静态文件放在可能托管在网络服务器(例如apache)中的网络应用程序之外。在您的html中给出直接网址而不是相对路径 因此应用程序服务器可能会在http://www.mybackendsite.com/myawsomerestservice/rest/中托管 Jersey 资源。 * 您的网络服务器http://www.mycustomerfacing.com/index.html 在html中均引用http://www.mycustomerfacing.com/css/ * http://www.mycustomerfacing.com/js/ * 托管地点 通过这种方式,您可以创建关注点分离和更干净的代码来部署后端和前端。

关于java - 授予 Jersey 访问 CSS 和 JS 文件的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29351786/

相关文章:

java - 我该如何修复这个错误? "the operator is undefined for the argument type(s) entry, entry"

java - Dagger 2 注入(inject)构造函数

转换 EJB 时抛出 java.lang.ClassCastException : com. sun.proxy.$Proxy

web-services - 如何在安静的服务中提供 kerberos/spnego 支持?

json - 如何将 Joda DateTime 对象作为 HTTP POST 的消息正文传递到 Jersey REST 端点?

java - 默认 Jersey 查询参数

java - 如何在 Jersey 中制作一个接受多个复杂参数的 POST 方法?

java - Jersey 客户错误请求

java - 如何向应用程序上下文注册 bean 集合并使其符合 Autowiring 条件?

java - 使用 glMapBuffer 的优点