Jetty嵌入项目式开发(把jetty发布到你的应用中)
Jetty/Tutorial/Embedding Jetty
这是来自Jetty官方的教程:(PS:我只是打酱油的)使用以下示例,需要下载好 Jetty(独立版),(之前跑去下载eclpse版的结果不会用)::::我用的是Jetty 7,跟Jetty 6相比,的确是因为多有点杂.建议在使用以下实例的时候,将所下载的包(在jetty根目录的lib文件夹下)全部导入,有兴趣的可以一个一个导入试试,也可以根据错误,去查找哪个包有对应的类。Jetty7的分包已经很专业了,不怕看不懂
public class SimplestServer{ public static void main(String[] args) throws Exception { Server server = new Server(8080); server.start(); server.join(); }}public class HelloHandler extends AbstractHandler{ public void handle(String target,Request baseRequest,HttpServletRequest request,HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html;charset=utf-8"); response.setStatus(HttpServletResponse.SC_OK); baseRequest.setHandled(true); response.getWriter().println("<h1>Hello World</h1>"); }}public static void main(String[] args) throws Exception{ Server server = new Server(8080); server.setHandler(new HelloHandler()); server.start(); server.join();}public class ManyConnectors{ public static void main(String[] args) throws Exception { Server server = new Server(); SelectChannelConnector connector0 = new SelectChannelConnector(); connector0.setPort(8080); connector0.setMaxIdleTime(30000); connector0.setRequestHeaderSize(8192); SelectChannelConnector connector1 = new SelectChannelConnector(); connector1.setHost("127.0.0.1"); connector1.setPort(8888); connector1.setThreadPool(new QueuedThreadPool(20)); connector1.setName("admin"); SslSelectChannelConnector ssl_connector = new SslSelectChannelConnector(); String jetty_home = System.getProperty("jetty.home","../jetty-distribution/target/distribution"); System.setProperty("jetty.home",jetty_home); ssl_connector.setPort(8443); ssl_connector.setKeystore(jetty_home + "/etc/keystore"); ssl_connector.setPassword("OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4"); ssl_connector.setKeyPassword("OBF:1u2u1wml1z7s1z7a1wnl1u2g"); server.addConnector(ssl_connector); server.setConnectors(new Connector[]{ connector0, connector1, ssl_connector }); server.setHandler(new HelloHandler()); server.start(); server.join(); }}public class FileServer{ public static void main(String[] args) throws Exception { Server server = new Server(); SelectChannelConnector connector = new SelectChannelConnector(); connector.setPort(8080); server.addConnector(connector); ResourceHandler resource_handler = new ResourceHandler(); resource_handler.setDirectoriesListed(true); resource_handler.setWelcomeFiles(new String[]{ "index.html" }); resource_handler.setResourceBase("."); HandlerList handlers = new HandlerList(); handlers.setHandlers(new Handler[] { resource_handler, new DefaultHandler() }); server.setHandler(handlers); server.start(); server.join(); }}<?xml version="1.0"?><!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd"> <Configure id="FileServer" name="code">public class FileServerXml{ public static void main(String[] args) throws Exception { Resource fileserver_xml = Resource.newSystemResource("fileserver.xml"); XmlConfiguration configuration = new XmlConfiguration(fileserver_xml.getInputStream()); Server server = (Server)configuration.configure(); server.start(); server.join(); }}<beans> <bean id="Server" init-method="start" destroy-method="stop"> <property name="connectors"> <list> <bean id="Connector" value="8080"/> </bean> </list> </property> <property name="handler"> <bean id="handlers" value="true"/> <property name="welcomeFiles"> <list> <value>index.html</value> </list> </property> <property name="resourceBase" value="."/> </bean> <bean name="code">public class OneContext{ public static void main(String[] args) throws Exception { Server server = new Server(8080); ContextHandler context = new ContextHandler(); context.setContextPath("/hello"); context.setResourceBase("."); context.setClassLoader(Thread.currentThread().getContextClassLoader()); server.setHandler(context); context.setHandler(new HelloHandler()); server.start(); server.join(); }}public class HelloServlet extends HttpServlet{ private String greeting="Hello World"; public HelloServlet(){} public HelloServlet(String greeting) { this.greeting=greeting; } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); response.setStatus(HttpServletResponse.SC_OK); response.getWriter().println("<h1>"+greeting+"</h1>"); response.getWriter().println("session=" + request.getSession(true).getId()); }}public class OneServletContext{ public static void main(String[] args) throws Exception { Server server = new Server(8080); ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS); context.setContextPath("/"); server.setHandler(context); context.addServlet(new ServletHolder(new HelloServlet()),"/*"); context.addServlet(new ServletHolder(new HelloServlet("Buongiorno Mondo")),"/it/*"); context.addServlet(new ServletHolder(new HelloServlet("Bonjour le Monde")),"/fr/*"); server.start(); server.join(); }}public class OneWebApp{ public static void main(String[] args) throws Exception { String jetty_home = System.getProperty("jetty.home",".."); Server server = new Server(8080); WebAppContext webapp = new WebAppContext(); webapp.setContextPath("/"); webapp.setWar(jetty_home+"/webapps/test.war"); server.setHandler(webapp); server.start(); server.join(); }}public class OneWebAppUnassembled{ public static void main(String[] args) throws Exception { Server server = new Server(8080); WebAppContext context = new WebAppContext(); context.setDescriptor(webapp+"/WEB-INF/web.xml"); context.setResourceBase("../test-jetty-webapp/src/main/webapp"); context.setContextPath("/"); context.setParentLoaderPriority(true); server.setHandler(context); server.start(); server.join(); }}public class ManyContexts{ public static void main(String[] args) throws Exception { Server server = new Server(8080); ServletContextHandler context0 = new ServletContextHandler(ServletContextHandler.SESSIONS); context0.setContextPath("/ctx0"); server0.setHandler(context); context0.addServlet(new ServletHolder(new HelloServlet()),"/*"); context0.addServlet(new ServletHolder(new HelloServlet("Buongiorno Mondo")),"/it/*"); context0.addServlet(new ServletHolder(new HelloServlet("Bonjour le Monde")),"/fr/*"); WebAppContext webapp = new WebAppContext(); webapp.setContextPath("/ctx1"); webapp.setWar(jetty_home+"/webapps/test.war"); ContextHandlerCollection contexts = new ContextHandlerCollection(); contexts.setHandlers(new Handler[] { context0, webapp }); server.setHandler(contexts); server.start(); server.join(); }}