(ת)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.}