Jetty 的安装和启动

Jetty 是一个提供 HTTP 服务器、HTTP 客户端和 javax.servlet 容器的开源项目。

下载

目录     作用
bin/     用于存放 jetty 的启动脚本,目前仅提供 liunx/unix 下的脚本
demo-base/     存放一个用于演示的工程
etc/     jetty 存放 xml 配置文件的目录
lib/      存放 jetty 运行时依赖的 jar 包,包括 jetty 各个模块的 jar 包,可以说这里就是真正的 jetty
logs/     存放请求日志的目录
modules/     模块定义目录, 存放 jetty 模块定义文件 (*.mod)
resources/     存放类路径下的资源文件,比如 log4j.xml,存放在这个目录下的文件在 jetty 启动时会被加入到 classpath
start.ini     存放命令行启动 jetty 时需要的一些列参数
start.jar     用于启动 jetty 的 jar 文件
webapps     运行于 Jetty 默认配置下的 Web 应用部署目录 (一般实际部署应用会重新创建一个另外一个目录作为 Jetty_base 路径)

 

启动

一般情况下都可以通过 start.jar 包来启动 jetty, 除此之外, 在 linux/unix 下还可以通过 jetty.sh 来进行启动

cd $JETTY_HOME
java -jar start.jar

上面的命令中涉及到了 JETTY_HOME 这个变量, 表示的是 jetty 的安装目录, 也就是 E:\Jetty\package\jetty-distribution-9.3.25.v20180904

2017-11-30 21:47:44.156:INFO::main: Logging initialized @367ms
2017-11-30 21:47:44.199:WARN:oejs.HomeBaseWarning:main: This instance of Jetty is not running from a separate {jetty.base} directory, this is not recommended. See documentation at http://www.eclipse.org/jetty/documentation/current/startup.html
2017-11-30 21:47:44.327:INFO:oejs.Server:main: jetty-9.2.21.v20170120
2017-11-30 21:47:44.343:INFO:oejdp.ScanningAppProvider:main: Deployment monitor [file:/test/jetty/jetty-distribution-9.2.21.v20170120/webapps/] at interval 1
2017-11-30 21:47:44.362:INFO:oejs.ServerConnector:main: Started ServerConnector@25e9a396{HTTP/1.1}{0.0.0.0:9800}
2017-11-30 21:47:44.363:INFO:oejs.Server:main: Started @574ms
你可以通过浏览器访问http://localhost:8080。 然而在 JETTYHOME/webapps 目录下并没有部署任何 web 应用,所以你将会看到一个 Jetty 提供的 404 错误页面,并不推荐在 JETTYHOME/webapps 目录下并没有部署任何 web 应用,所以你将会看到一个 Jetty 提供的 404 错误页面,并不推荐在 JETTY_HOME 下运行 Jetty,而是建议运行一个 Jetty 基础应用。错误页面如下

基础应用例子

cd $JETTY_HOME/demo-base/
java -jar $JETTY_HOME/start.jar

成功显示

 现在可以通过浏览器访问 http://localhost:8080,  此时可以看到一个 Jetty 的欢迎页面,页面上包含几个简单的例子,欢迎页面如下