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

本文介绍如何将Jetty作为程序的一部分进行嵌入式部署,包括通过Maven添加依赖及创建简单的HTTP服务器示例。

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

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

 

                <!-- jetty dependecies -->
		<dependency>
			<groupId>org.eclipse.jetty</groupId>
			<artifactId>jetty-server</artifactId>
			<version>9.0.0.v20130308</version>
		</dependency>
		
		<dependency>
			<groupId>org.eclipse.jetty</groupId>
			<artifactId>jetty-webapp</artifactId>
			<version>9.0.0.v20130308</version>
		</dependency>
		
		<dependency>
			<groupId>org.eclipse.jetty</groupId>
			<artifactId>jetty-continuation</artifactId>
			<version>9.0.0.v20130308</version>
		</dependency>
            
		<dependency>
			<groupId>org.eclipse.jetty</groupId>
			<artifactId>jetty-jsp</artifactId>
			<version>9.0.0.v20130308</version>
		</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

 

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>");
    }
}

 

启动Jetty Server,并设置Handler

public static void main(String[] args) throws Exception
{
    Server server = new Server(8080);
    server.setHandler(new HelloHandler());
 
    server.start();
    server.join();
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值