问题
I want to serve my .html sites from a .jar archive and not from a folder. At the moment i use grizzly (with jersey) and serve static pages like:
HttpServer webServer;
....
....
webServer.getServerConfiguration().addHttpHandler(new StaticHttpHandler("varwww"), "/app");
webServer.start();
Is there a way to get the webserver not to retrieve .html from folder "varwww" and to get it from myhtml.jar?
回答1:
This feature is implemented in Grizzly 2.3.3+. Here is the correspondent issue.
You can use special CLStaticHttpHandler and pass ClassLoader to be used to find static resources. For example:
httpServer.getServerConfiguration().addHttpHandler(
new CLStaticHttpHandler(new URLClassLoader(new URL[] {new URL("file:///home/username/staticfiles.jar")})), "/www");
Hope that will help.
来源:https://stackoverflow.com/questions/14806312/html-server-grizzlyjersey-html-from-jar-archive