代码改变世界

Jetty入门

2014-06-26 13:19  Leo100w  阅读(876)  评论(0编辑  收藏  举报

Jetty是什么

Jetty是一个开源HTTP服务器,HTTP客户端和javax.servlet容器。Jetty主页在这里 http://www.eclipse.org/jetty/ 。这里 http://download.eclipse.org/jetty/ 下载Jetty。

Jetty目录结构

不出意外,下载的Jetty应该是一个压缩包,只要把它解压到某个目录下就Ok了。解压后的目录结构及其包含的内容见下表

目录文件名描述
license-eplv10-aslv20.html Jetty license文件
README.txt 入门信息
VERSION.txt release信息
bin/ 运行Jetty的辅助shell脚本
demo-base/ 演示demo
etc/ Jetty XML配置文件目录,主要包含各个模块需要的配置文件
lib/ 运行Jetty需要的所有JAR包
logs/ log目录
modules/ 模块定义目录,例如 server, http, https等等模块的定义文件
notice.html License信息
resources/ 额外的资源信息,例如log4j配置
start.d/ 包含一系列全局ini文件,其中每个ini文件存储各种命令行参数
start.ini 全局命令行参数文件,该文件包含的内容将添加到命令行参数中,也就是 java -jar start.jar [arg...] 该命令的参数
start.jar 运行Jetty的Jar文件
webapps/ webapps文件夹

运行Jetty

> cd $JETTY_HOME
> java -jar start.jar
2013-09-06 13:52:43.326:INFO:oejs.Server:main: jetty-9.1.0
2013-09-06 13:52:43.358:INFO:oejdp.ScanningAppProvider:main: Deployment monitor [file:/
home/gregw/src/jetty-9.1/jetty-distribution/target/distribution/webapps/] at interval 1
2013-09-06 13:52:43.390:INFO:oejs.ServerConnector:main: Started
ServerConnector@2edf362d{HTTP/1.1}{0.0.0.0:8080}

Ok了!Jetty已经成功运行了,监听8080端口,浏览器直接访问就Ok了 http://localhost:8080

你可能发现了, "Error 404 – Not Found",这是为啥呢?

image

因为Jetty默认会扫描$JETTY_HOME/webapps目录和部署该目录下的应用,但是目前webapps下面没有任何应用,所以返回404错误。

部署应用

Jetty中部署应用非常简单,只要把war包或包含内容的目录放到webapps目录下面就ok了。您可以拷贝$JETTY_HOME/demo-base/webapps/ROOT目录到$JETTY_HOME/webapps目录下,然后访问 http://localhost:8080 

注意:webapps下面ROOT(大小写均可)目录部署的应用对应的URL为跟目录(/)也就是说可以直接通过http://localhost:8080/ 访问,而不是通过 http://localhost:8080/ROOT 访问