1 package fi.iki.elonen; 2 3 import java.util.Map; 4 5 /** 6 * An example of subclassing NanoHTTPD to make a custom HTTP server. 7 */ 8 public class HelloServer extends NanoHTTPD { 9 public HelloServer() { 10 super(8080); 11 } 12 13 @Override public Response serve(IHTTPSession session) { 14 Method method = session.getMethod(); 15 String uri = session.getUri(); 16 System.out.println(method + " '" + uri + "' "); 17 18 String msg = "<html><body><h1>Hello server</h1>\n"; 19 Map<String, String> parms = session.getParms(); 20 if (parms.get("username") == null) 21 msg += 22 "<form action='?' method='get'>\n" + 23 " <p>Your name: <input type='text' name='username'></p>\n" + 24 "</form>\n"; 25 else 26 msg += "<p>Hello, " + parms.get("username") + "!</p>"; 27 28 msg += "</body></html>\n"; 29 30 return new NanoHTTPD.Response(msg); 31 } 32 33 34 public static void main(String[] args) { 35 ServerRunner.run(HelloServer.class); 36 } 37 } 38