के साथ स्थैतिक फ़ाइलों की सेवा करना मैं एम्बेडेड जेट्टी के साथ एक साधारण डेमो ऐप बनाने की कोशिश कर रहा हूं जो "एचटीएमएल" निर्देशिका से स्थैतिक फाइलों को प्रस्तुत करता है जो वर्तमान कार्यशील निर्देशिका की उपनिर्देशिका है। विचार यह है कि डेमो जार और सामग्री के साथ निर्देशिका को एक नए स्थान पर ले जाया जा सकता है और अभी भी काम कर सकता है।एम्बेडेड जेट्टी
मैंने निम्नलिखित में बदलाव की कोशिश की है, लेकिन मुझे 404 मिलते रहेंगे।
ServletContextHandler context =
new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath("/");
context.getInitParams().put(
"org.eclipse.jetty.servlet.Default.resourceBase", "html");
context.addServlet(new ServletHolder(new DefaultServlet()), "/html");
Server jetty = new Server(8080);
jetty.setHandler(context);
jetty.start();
अद्यतन: यहाँ एक समाधान जेट्टी ट्यूटोरियल में बताया गया है। के रूप में सही जवाब में बताया गया है, यह एक ServletContextHandler
के बजाय एक ResourceHandler
उपयोग करता है:
Server server = new Server();
SelectChannelConnector connector = new SelectChannelConnector();
connector.setPort(8080);
server.addConnector(connector);
ResourceHandler resource_handler = new ResourceHandler();
resource_handler.setDirectoriesListed(true);
resource_handler.setWelcomeFiles(new String[]{ "index.html" });
resource_handler.setResourceBase(".");
HandlerList handlers = new HandlerList();
handlers.setHandlers(new Handler[] { resource_handler, new DefaultHandler() });
server.setHandler(handlers);
server.start();
server.join();
pom.xml फ़ाइल है कि इस के साथ काम करता है: https://code.google.com/p/ram-badger/source/browse/trunk/static-jetty/pom। xml – cwash
यह जेटी 9 के साथ काम नहीं कर रहा है ... –
यदि कोई जेटी 9 @see के साथ एक ही समस्या का सामना करता है - http://stackoverflow.com/questions/28346438/resourcehandler-stop-hosting-files-with-jetty -9-404-नहीं मिला-त्रुटि-कार्य-फिन –