package gaofeng.jetty;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.handler.AbstractHandler;
public class App01 {
public static void main(String[] args) throws Exception {
Server server = new Server(80);
server.setHandler(new AbstractHandler() {
@Override
public void handle(String target, Request baseRequest,
HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
System.out.println("path:"+target);
System.out.println("para:"+request.getQueryString());
response.setContentType("text/html;charset=utf-8");
response.setStatus(HttpServletResponse.SC_OK);
PrintWriter out = response.getWriter();
out.println("<h1>hello</h1>");
baseRequest.setHandled(true);
}
});
server.start();
}
}
package gaofeng.jetty;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.ServerConnector;
import org.eclipse.jetty.server.handler.AbstractHandler;
public class App02 {
public static void main(String[] args) throws Exception {
Server server = new Server();
ServerConnector http = new ServerConnector(server);
http.setHost("localhost");
http.setPort(80);
http.setIdleTimeout(30000);
server.addConnector(http);
server.setHandler(new AbstractHandler() {
@Override
public void handle(String target, Request baseRequest,
HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
System.out.println("path:"+target);
System.out.println("para:"+request.getQueryString());
response.setContentType("text/html;charset=utf-8");
response.setStatus(HttpServletResponse.SC_OK);
PrintWriter out = response.getWriter();
out.println("<h1>hello</h1>");
baseRequest.setHandled(true);
}
});
server.start();
}
}
package gaofeng.jetty;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.servlet.ServletHandler;
public class App03 {
public static void main(String[] args) throws Exception {
Server server = new Server(80);
ServletHandler servletHandler = new ServletHandler();
servletHandler.addServletWithMapping(HelloServlet.class, "/hello");
server.setHandler(servletHandler);
server.start();
}
public static class HelloServlet extends HttpServlet{
private static final long serialVersionUID = 1L;
@Override
protected void doGet( HttpServletRequest request, HttpServletResponse response )
throws ServletException, IOException{
response.setContentType("text/html");
response.setStatus(HttpServletResponse.SC_OK);
response.getWriter().println("<h1>Hello from HelloServlet</h1>");
}
}
}
package gaofeng.jetty;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.handler.AbstractHandler;
import org.eclipse.jetty.server.handler.ContextHandler;
public class App04 {
public static void main(String[] args) throws Exception {
Server server = new Server(80);
ContextHandler contextHandler = new ContextHandler("/hello");
contextHandler.setHandler(new HelloHandle());
server.setHandler(contextHandler);
server.start();
}
static class HelloHandle extends AbstractHandler{
@Override
public void handle(String target, Request baseRequest,
HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
System.out.println("path:"+target);
System.out.println("para:"+request.getQueryString());
response.setContentType("text/html;charset=utf-8");
response.setStatus(HttpServletResponse.SC_OK);
PrintWriter out = response.getWriter();
out.println("<h1>hello</h1>");
baseRequest.setHandled(true);
}
}
}
package gaofeng.jetty;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.handler.AbstractHandler;
import org.eclipse.jetty.server.handler.ContextHandler;
import org.eclipse.jetty.server.handler.ContextHandlerCollection;
public class App05 {
public static void main(String[] args) throws Exception {
Server server = new Server(80);
ContextHandler contextHandler = new ContextHandler("/hello");
contextHandler.setHandler(new HelloHandle("hello"));
ContextHandler contextHandler2 = new ContextHandler("/");
contextHandler2.setVirtualHosts(new String[] {"192.168.56.1"});
contextHandler2.setHandler(new HelloHandle("gaofeng"));
/** curl -vs "http://192.168.56.1/hello/uu?n=0&b=5"
* curl -vs "http://192.168.56.1/hello9/uu?n=0&b=5"
* 先做路径匹配(最长匹配),再做虚拟主机匹配
*/
server.setHandler(new ContextHandlerCollection(contextHandler,contextHandler2));
server.start();
}
static class HelloHandle extends AbstractHandler{
private String name;
public HelloHandle(String name) {
this.name = name;
}
@Override
public void handle(String target, Request baseRequest,
HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
System.out.println("path:"+target);
System.out.println("para:"+request.getQueryString());
response.setContentType("text/html;charset=utf-8");
response.setStatus(HttpServletResponse.SC_OK);
PrintWriter out = response.getWriter();
out.println("<h1>hello,"+name+"</h1>");
baseRequest.setHandled(true);
}
}
}
package gaofeng.jetty;
import org.eclipse.jetty.server.Handler;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.handler.DefaultHandler;
import org.eclipse.jetty.server.handler.HandlerList;
import org.eclipse.jetty.server.handler.ResourceHandler;
public class FileServer {
public static void main(String[] args) throws Exception {
Server server = new Server(80);
ResourceHandler resource_handler = new ResourceHandler();
resource_handler.setDirectoriesListed(true);
resource_handler.setResourceBase("./src");
// Add the ResourceHandler to the server.
HandlerList handlers = new HandlerList();
handlers.setHandlers(new Handler[] { resource_handler, new DefaultHandler() });
server.setHandler(handlers);
server.start();
}
}