Servlets 从jar交付Java脚本
我有一个java web应用程序。这里有一些javascript文件,我想放在jar文件中。我希望会有一个servlet,它将从jar交付javascript文件。该功能类似于库。他们有一些文件系统中没有的javascript文件。相反,他们从jar中交付Java脚本。全班同学都这样做。但是路径包含在html头中。我想实现这样一个特性。你们能告诉我如何实现JAR中的资源是类路径的一部分吗。您可以通过Servlets 从jar交付Java脚本,servlets,dwr,Servlets,Dwr,我有一个java web应用程序。这里有一些javascript文件,我想放在jar文件中。我希望会有一个servlet,它将从jar交付javascript文件。该功能类似于库。他们有一些文件系统中没有的javascript文件。相反,他们从jar中交付Java脚本。全班同学都这样做。但是路径包含在html头中。我想实现这样一个特性。你们能告诉我如何实现JAR中的资源是类路径的一部分吗。您可以通过ClassLoader\getResourceAsStream()获取类路径资源的InputStr
ClassLoader\getResourceAsStream()
获取类路径资源的InputStream
。所以,让您的Servlet正好做到这一点
假设您在JAR的/META-INF/resources
中有这些JS资源:
@WebServlet("/resources/*")
public class ResourceServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String path = request.getPathInfo();
ClassLoader loader = Thread.currentThread().getContextClassLoader();
InputStream input = loader.getResourceAsStream("/META-INF/resources" + path);
if (input != null) {
response.setContentType(getServletContext().getMimeType(path));
OutputStream output = response.getOutputStream();
// Now just write input to output the usual way.
} else {
response.sendError(404);
}
}
}
然后您可以通过以下方式获得JAR的/META-INF/resources/some.js