我有个工作计划。它包括另一个以rest-api.jar形式处理rest的项目。
现在我在angularjs上为这个restapi做了一个单页ui,并为主应用程序提供了它。
问题是我找不到从主项目中引用这个页面的方法,因为这个页面必须在rest\u api.jar中
这是我解决问题的方法。只需重定向到页面:
@GET
@Produces(MediaType.TEXT_HTML)
public void doGetAsHtml(@Context
UriInfo info, @Context
HttpServletResponse servletResponse) throws IOException
{
servletResponse.sendRedirect("/web/pages/index.html");
}
那么,有没有可能引用某个项目jar文件中的网页,以及如何实现这一点呢?
每一个答案都是高度赞赏和立即回应。
谢谢您。
1条答案
按热度按时间3htmauhk1#
这取决于你所说的“参考”是什么意思。
您可以使用
Class.getResourceAsStream()
并将路径传递给它,例如“/resource/html/index.html”(不要省略前导斜杠,并且使用斜杠而不是反斜杠)。已经打开了
InputStream
(也许是用一个Reader
)你可以从那里复制到OutputStream
的HttpServletResponse
(或Writer
围绕着这个OutputStream
).您可能希望以
Reader
写为Writer
如果文件的编码(在jar中)不是您希望发送html的编码(例如,在响应头中设置的编码)。(当然,这是一种通用方法,与rest或angularjs无关。)