1
2
3
4
5
6
7
8
9
10
11
12
13
14 package org.eclipse.jetty.embedded;
15
16 import java.io.IOException;
17
18 import javax.servlet.http.HttpServletRequest;
19 import javax.servlet.http.HttpServletResponse;
20
21 import org.eclipse.jetty.server.Handler;
22 import org.eclipse.jetty.server.Server;
23 import org.eclipse.jetty.server.handler.DefaultHandler;
24 import org.eclipse.jetty.server.handler.HandlerList;
25 import org.eclipse.jetty.server.handler.ResourceHandler;
26 import org.eclipse.jetty.util.log.Log;
27 import org.eclipse.jetty.util.resource.Resource;
28
29
30
31
32
33
34
35 public class FileServer
36 {
37 public static void main(String[] args)
38 throws Exception
39 {
40 Server server = new Server(args.length==0?8080:Integer.parseInt(args[0]));
41
42 ResourceHandler resource_handler=new ResourceHandler()
43 {
44 protected void doDirectory(HttpServletRequest request, HttpServletResponse response, Resource resource) throws IOException
45 {
46 String listing=resource.getListHTML(request.getRequestURI(),request.getPathInfo().lastIndexOf("/")>0);
47 response.setContentType("text/html; charset=UTF-8");
48 response.getWriter().println(listing);
49 }
50 };
51 resource_handler.setWelcomeFiles(new String[]{"index.html"});
52
53 resource_handler.setResourceBase(args.length==2?args[1]:".");
54 Log.info("serving "+resource_handler.getBaseResource());
55 HandlerList handlers = new HandlerList();
56 handlers.setHandlers(new Handler[]{resource_handler,new DefaultHandler()});
57 server.setHandler(handlers);
58
59 server.start();
60 server.join();
61 }
62
63 }