您的位置:首页 > 编程语言 > Java开发

Java Web 学习笔记之八:嵌入式web服务器Jetty的基本使用

2017-03-05 19:13 811 查看
Jetty 是一个开源的servlet容器,具有易用性,可扩展性,易嵌入性等特点。通过少量的代码,开发者就可以在程序中以嵌入的方式运行一个web服务器。

 

下面介绍一些Jetty使用的方式:

 

方式一(直接在代码中定义web应用的上下文):

(1)新建maven工程,pom下的依赖如下图:



(2)编写自定义的一个Servlet类,用来测试,如下图:



(3)编写程序入口类main方法,如下图:



(4)项目目录结构如下图:



以上三个步骤之后就可以运行main方法启动程序了,可以看到控制台输出:



说明Jetty服务器启动成功了。

 

下面测试一下刚才编写的BaseServlet,它的URL在main方法的配置中定义为”/base”,可以看到结果如下:



说明Jetty成功将请求转发给了自定义的servlet。

方式一的main方法代码如下:

public class Main {
private static String host;
private static String port;

public static void main(String[] args) throws Exception {
host = "127.0.0.1";
port = "9681";
InetSocketAddress address = new InetSocketAddress(host, Integer.parseInt(port));
// 新建web服务器
Server server = new Server(address);
// 添加自定义的Servlet
ServletContextHandler handler = new ServletContextHandler();
handler.addServlet(BaseServlet.class, "/base");
server.setHandler(handler);

// 启动web服务器
server.start();
}
}


方式二(利用web.xml配置文件定义web应用的上下文):

(1)新建maven工程,pom的依赖同方式一

(2)编写自定义的BaseServlet,定义方式同方式一

(3)编写web.xml配置文件(WebContent/WEB-INFO/),如下图:



(4)编写程序入口类main方法,如下图:



(5)项目目录结构如下图:



运行main方法,并打开浏览器请求BaseServlet的URL,结果如下:





说明Jetty容器成功启动并将请求转发给了自定义的servlet。

方式二的main方法代码如下:

public class Main {
private static String host;
private static String port;

public static void main(String[] args) throws Exception {
host = "127.0.0.1";
port = "9681";
InetSocketAddress address = new InetSocketAddress(host, Integer.parseInt(port));
// 新建web服务器
Server server = new Server(address);
// 配置web应用上下文
WebAppContext webAppContext = new WebAppContext();
webAppContext.setContextPath("/");
// 设置配置文件扫描路径
File resDir = new File("./WebContent");
webAppContext.setResourceBase(resDir.getCanonicalPath());
webAppContext.setConfigurationDiscovered(true);
webAppContext.setParentLoaderPriority(true);
server.setHandler(webAppContext);
// 启动web服务器
server.start();
}
}

工程代码连接:

利用Jetty服务器开发web应用例程
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息