创建一个简单的Server(嵌入Jetty学习一)

来源:互联网 发布:派车软件 编辑:程序博客网 时间:2024/03/28 21:54

  Jetty的口号是:“不要把你的程序放到Jetty里,而是把Jetty部署到你的程序里”,也就是说可以把war包放到Jetty里(就像tomcat一样),也可以把Jetty当成程序的一个HTTP模块。

    嵌入Jetty的使用方法是这样的,可以在maven中添加depency,然后就可以在Java程序中使用Jetty创建Web Server了,目前最新的Jetty版本是Jetty 9。

 

Xml代码  收藏代码
  1.               <!-- jetty dependecies -->  
  2. <dependency>  
  3.     <groupId>org.eclipse.jetty</groupId>  
  4.     <artifactId>jetty-server</artifactId>  
  5.     <version>9.0.0.v20130308</version>  
  6. </dependency>  
  7.   
  8. <dependency>  
  9.     <groupId>org.eclipse.jetty</groupId>  
  10.     <artifactId>jetty-webapp</artifactId>  
  11.     <version>9.0.0.v20130308</version>  
  12. </dependency>  
  13.   
  14. <dependency>  
  15.     <groupId>org.eclipse.jetty</groupId>  
  16.     <artifactId>jetty-continuation</artifactId>  
  17.     <version>9.0.0.v20130308</version>  
  18. </dependency>  
  19.             
  20. <dependency>  
  21.     <groupId>org.eclipse.jetty</groupId>  
  22.     <artifactId>jetty-jsp</artifactId>  
  23.     <version>9.0.0.v20130308</version>  
  24. </dependency>  

 

下面是一个最简单的示例代码:

 

可以参考Jetty源码工程里面的使用示例: http://git.eclipse.org/c/jetty/org.eclipse.jetty.project.git/tree/examples/embedded/src/main/java/org/eclipse/jetty/embedded

 

也可以参考Jetty的Wiki,不过只有Jetty 8以前的:

http://wiki.eclipse.org/Jetty/Tutorial/Embedding_Jetty

 

创建一个Handler

 

Java代码  收藏代码
  1. public class HelloHandler extends AbstractHandler  
  2. {  
  3.     public void handle(String target,Request baseRequest,HttpServletRequest request,HttpServletResponse response)   
  4.         throws IOException, ServletException  
  5.     {  
  6.         response.setContentType("text/html;charset=utf-8");  
  7.         response.setStatus(HttpServletResponse.SC_OK);  
  8.         baseRequest.setHandled(true);  
  9.         response.getWriter().println("<h1>Hello World</h1>");  
  10.     }  
  11. }  

 

启动Jetty Server,并设置Handler

public static void main(String[] args) throws Exception{    Server server = new Server(8080);    server.setHandler(new HelloHandler());     server.start();    server.join();}
0 0