Ê×Ò³ Ê«´Ê ×Öµä °å±¨ ¾ä×Ó ÃûÑÔ ÓÑ´ð ÀøÖ¾ ѧУ ÍøÕ¾µØÍ¼
µ±Ç°Î»ÖÃ: Ê×Ò³ > ½Ì³ÌƵµÀ > ÆäËû½Ì³Ì > »¥ÁªÍø >

(ת)Jettyʵս֮ ǶÈëʽJettyÔË×÷Servlet

2012-11-01 
(ת)Jettyʵս֮ ǶÈëʽJettyÔËÐÐServlet .±¾ÎÄÁ´½Ó£ºhttp://blog.csdn.net/kongxx/article/details/723008

(ת)Jettyʵս֮ ǶÈëʽJettyÔËÐÐServlet .
±¾ÎÄÁ´½Ó£ºhttp://blog.csdn.net/kongxx/article/details/7230080


ÔÚǶÈëʽJettyÖУ¬ÓÐʱºòÎÒÃÇÏëÔËÐÐһЩµÄServlet£¬´Ëʱ¾ÍÐèÒª´´½¨´´½¨Context£¬È»ºóÈÃ×Ô¼ºµÄServletÔËÐÐÔÚÕâЩServletContextÖС£

1. Ê×ÏÈ´´½¨Ò»¸öServletContextServerÀ࣬ÓÃÀ´³õʼ»¯webÓ¦ÓóÌÐòµÄContext£¬²¢ÇÒÖ¸¶¨ServletºÍServletÆ¥ÅäµÄurl¡£ÕâÀïÖ¸¶¨ÁËÁ½¸öServlet£¬·Ö±ðÊÇHelloServletºÍGoodbyeServlet£¬²¢·Ö±ð¶ÔÓ¦/hello/*ºÍ/goodbye/*¡£



[java] view plaincopyprint?
01.package com.google.code.garbagecan.jettystudy.sample5; 
02. 
03.import org.eclipse.jetty.server.Server; 
04.import org.eclipse.jetty.servlet.ServletContextHandler; 
05.import org.eclipse.jetty.servlet.ServletHolder; 
06. 
07.public class ServletContextServer { 
08.    public static void main(String[] args) throws Exception { 
09.        Server server = new Server(8080); 
10. 
11.        ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS); 
12.        context.setContextPath("/"); 
13.        server.setHandler(context); 
14. 
15.        // http://localhost:8080/hello  
16.        context.addServlet(new ServletHolder(new HelloServlet()), "/hello"); 
17.        // http://localhost:8080/hello/kongxx  
18.        context.addServlet(new ServletHolder(new HelloServlet("Hello Kongxx!")), "/hello/kongxx"); 
19. 
20.        // http://localhost:8080/goodbye  
21.        context.addServlet(new ServletHolder(new GoodbyeServlet()), "/goodbye"); 
22.        // http://localhost:8080/goodbye/kongxx  
23.        context.addServlet(new ServletHolder(new GoodbyeServlet("Goodbye kongxx!")), "/goodbye/kongxx"); 
24.         
25.        server.start(); 
26.        server.join(); 
27.    } 
28.} 
package com.google.code.garbagecan.jettystudy.sample5;

import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHolder;

public class ServletContextServer {
public static void main(String[] args) throws Exception {
Server server = new Server(8080);

ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath("/");
server.setHandler(context);

// http://localhost:8080/hello
context.addServlet(new ServletHolder(new HelloServlet()), "/hello");
// http://localhost:8080/hello/kongxx
context.addServlet(new ServletHolder(new HelloServlet("Hello Kongxx!")), "/hello/kongxx");

// http://localhost:8080/goodbye
context.addServlet(new ServletHolder(new GoodbyeServlet()), "/goodbye");
// http://localhost:8080/goodbye/kongxx
context.addServlet(new ServletHolder(new GoodbyeServlet("Goodbye kongxx!")), "/goodbye/kongxx");

server.start();
server.join();
}
}2. Á½¸ö¼òµ¥µÄServlet£ºHelloServletºÍGoodbyeServlet£º

[java] view plaincopyprint?
01.package com.google.code.garbagecan.jettystudy.sample5; 
02. 
03.import java.io.IOException; 
04.import javax.servlet.ServletException; 
05.import javax.servlet.http.HttpServlet; 
06.import javax.servlet.http.HttpServletRequest; 
07.import javax.servlet.http.HttpServletResponse; 
08. 
09.public class HelloServlet extends HttpServlet { 
10.    private static final long serialVersionUID = 1L; 
11.    private String msg = "Hello World!"; 
12. 
13.    public HelloServlet() { 
14.    } 
15. 
16.    public HelloServlet(String msg) { 
17.        this.msg = msg; 
18.    } 
19. 
20.    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
21.        response.setContentType("text/html"); 
22.        response.setStatus(HttpServletResponse.SC_OK); 
23.        response.getWriter().println("<h1>" + msg + "</h1>"); 
24.        response.getWriter().println("session=" + request.getSession(true).getId()); 
25.    } 
26.} 
27. 
28.package com.google.code.garbagecan.jettystudy.sample5; 
29. 
30.import java.io.IOException; 
31.import javax.servlet.ServletException; 
32.import javax.servlet.http.HttpServlet; 
33.import javax.servlet.http.HttpServletRequest; 
34.import javax.servlet.http.HttpServletResponse; 
35. 
36.public class GoodbyeServlet extends HttpServlet { 
37.    private static final long serialVersionUID = 1L; 
38.    private String msg = "Goodbye!"; 
39. 
40.    public GoodbyeServlet() { 
41.    } 
42. 
43.    public GoodbyeServlet(String msg) { 
44.        this.msg = msg; 
45.    } 
46. 
47.    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
48.        response.setContentType("text/html"); 
49.        response.setStatus(HttpServletResponse.SC_OK); 
50.        response.getWriter().println("<h1>" + msg + "</h1>"); 
51.        response.getWriter().println("session=" + request.getSession(true).getId()); 
52.    } 
53.} 
package com.google.code.garbagecan.jettystudy.sample5;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class HelloServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private String msg = "Hello World!";

public HelloServlet() {
}

public HelloServlet(String msg) {
this.msg = msg;
}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
response.setStatus(HttpServletResponse.SC_OK);
response.getWriter().println("<h1>" + msg + "</h1>");
response.getWriter().println("session=" + request.getSession(true).getId());
}
}

package com.google.code.garbagecan.jettystudy.sample5;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class GoodbyeServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private String msg = "Goodbye!";

public GoodbyeServlet() {
}

public GoodbyeServlet(String msg) {
this.msg = msg;
}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
response.setStatus(HttpServletResponse.SC_OK);
response.getWriter().println("<h1>" + msg + "</h1>");
response.getWriter().println("session=" + request.getSession(true).getId());
}
}3. ÔËÐÐServletContextServerÀ࣬Ȼºó·Ö±ð·ÃÎÊÒÔÏÂËĸöurl

  http://localhost:8080/hello
  http://localhost:8080/hello/kongxx
  http://localhost:8080/goodbye
  http://localhost:8080/goodbye/kongxx




4. ³ýÁËÉÏÃæµÄ·½Ê½Í⣬Ҳ¿ÉÒÔ´´½¨Á½¸ö¸öContext£¬·Ö±ð°ó¶¨µ½"/hello"ºÍ"/goodbye"£¬ÈçÏ£º


[java] view plaincopyprint?
01.package com.google.code.garbagecan.jettystudy.sample5; 
02. 
03.import org.eclipse.jetty.server.Handler; 
04.import org.eclipse.jetty.server.Server; 
05.import org.eclipse.jetty.server.handler.ContextHandlerCollection; 
06.import org.eclipse.jetty.servlet.ServletContextHandler; 
07.import org.eclipse.jetty.servlet.ServletHolder; 
08. 
09.public class MultiContextServer { 
10.    public static void main(String[] args) throws Exception { 
11.        Server server = new Server(8080); 
12. 
13.        // http://localhost:8080/hello/kongxx  
14.        ServletContextHandler context1 = new ServletContextHandler(ServletContextHandler.SESSIONS); 
15.        context1.setContextPath("/hello"); 
16.        context1.setResourceBase("."); 
17.        context1.setClassLoader(Thread.currentThread().getContextClassLoader()); 
18.        context1.addServlet(new ServletHolder(new HelloServlet("Hello Kongxx!")), "/kongxx"); 
19. 
20.        // http://localhost:8080/goodbye/kongxx  
21.        ServletContextHandler context2 = new ServletContextHandler(ServletContextHandler.SESSIONS); 
22.        context2.setContextPath("/goodbye"); 
23.        context2.setResourceBase("."); 
24.        context2.setClassLoader(Thread.currentThread().getContextClassLoader()); 
25.        context2.addServlet(new ServletHolder(new GoodbyeServlet("Goodbye kongxx!")), "/kongxx"); 
26. 
27.        ContextHandlerCollection contexts = new ContextHandlerCollection(); 
28.        contexts.setHandlers(new Handler[] { context1, context2 }); 
29. 
30.        server.setHandler(contexts); 
31. 
32.        server.start(); 
33.        server.join(); 
34.    } 
35.} 

ÈȵãÅÅÐÐ