我正在使用 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/