jetty之嵌入式运行jetty

时间:2023-03-08 18:29:26

在文章什么是jetty中,提到jetty容器真正出名的地方是可以作为一个嵌入到java代码的servlet容器,即可以在java代码中实例化servlet对象并操作该对象。下面我们就先来学习

下如何把jetty嵌入到java代码中。

1. 建立一个maven项目

jetty之嵌入式运行jetty

2. 在pom文件中加入jetty的依赖包

<dependency>
<groupId>org.eclipse.jetty.aggregate</groupId>
<artifactId>jetty-all</artifactId>
<version>8.0.4.v20111024</version>
<type>jar</type>
<scope>provided</scope>
</dependency>

3.  创建一个Handler类,处理所有浏览器请求

public class Handler 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>");
response.getWriter().println("Request url: " + target);
}
}

4. 创建一个App类,用来启动Jetty服务

public class App {
public static void main(String[] args) throws Exception {
Server server = new Server(8080); //设置访问端口
server.setHandler(new HelloHandler()); //设置请求处理类
server.start(); //启动jetty服务
server.join();
}
}

5. 启动

运行App.main方法,然后在浏览器访问: http://localhost:8080/,如下图:

jetty之嵌入式运行jetty