Jetty8嵌入式开发之HelloWorld

Jetty可以作为嵌入式服务器,让我们可以直接用Java代码启动关闭服务器,也可以直接运行Servlet

为什么Jetty8:

按照官方的说法,Jetty 9开始需要JDK1.7, 所以安装JDK1.6的,只能使用Jetty8了,之前使用的Jar包是jetty-all-9.0.0.rc1.jar,运行程序后会出现如下错误:

Exception in thread "main" java.lang.UnsupportedClassVersionError: org/eclipse/jetty/start/Main : Unsupported major.minor version 51.0

 所以1.6的只能使用Jetty8的Jar包比如jetty-all-8.1.2.v20120308.jar,除此之外还需要servlet-api.jar

以下是HelloWorld的代码:

package com.jingshou.jetty;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.handler.AbstractHandler;
 
public class HelloWorld extends AbstractHandler {
 
    @Override
    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(8888);
        server.setHandler(new HelloWorld());
        server.start();
        server.join();
    }
}

运行后请求http://localhost:8888,将会输出HelloWorld

意义:

  • 多了一种启动,部署web服务器的方式,而且是以Java代码的方式
  • 在测试活动中可以使用嵌入式Jetty服务器做桩,感觉对做前端的同学应该会有用

更多学习资料:

  • Jetty实战:http://blog.csdn.net/column/details/jettyinaction.html 基本都是学官方的例子....
  • 官方文档: http://wiki.eclipse.org/Jetty/Tutorial/Embedding_Jetty

 本文出自"lijingshou"博客,转载请务必保留此出处http://lijingshou.iteye.com/blog/2016207

猜你喜欢

转载自lijingshou.iteye.com/blog/2016207
今日推荐