参考:
http://www.inter12.org/archives/649
一 简介
挂在eclipse基金会下
java语言编写的实现servlet规范的web容器
支持SPDY, WebSocket, OSGi, JMX, JNDI, JAAS
最新版本是jetty9,必须JDK7支持
目前使用的项目:alibaba japan,b2b activeMq,apache-camel,fisheye,confluence,hadoop (更全可见:http://www.eclipse.org/jetty/powered/)
源码存放地址:https://github.com/eclipse/jetty.project
ps:
挂在eclipse基金会下其他知名开源框架还有 Sphinx(搜索服务器)Hudson(持续集成),Subversive(svn工具),AspectJ(aop框架),hadoop(离线计算)等
二 主要目录结构解析
bin/ — 启动、停止脚本
etc/ — 配置文件目录,不同于tomcat的conf
lib/ — 自身必须加装的包 例如jetty-deploy,jetty-http,jetty-io 等
license-eplv10-aslv20.html
logs/ — 日志目录
notice.html
README.txt
resources/ — jetty的资源文件 ,里面是一些log4j的配置
start.d/
start.ini
start.jar — jetty 的启动jar包 s示例:java $JAVA_OPTS -Djetty.port=$app_port -jar start.jar $jetty_etc/jetty.xml
VERSION.txt
webapps/ — 包的部署目录
webapps.demo/
三 几个重要的配置文件
3.1 START.INI
当你通过:java -jar start.jar 启动时候,读取的配置来之 $JETTY_HOME/start.ini
具体查看当前使用的配置 通过命令 java -jar start.jar –help 以下就是默认配置
——————————————————————————————-
The current start.ini arguments are:
OPTIONS=Server,websocket,resources,ext
threads.min=10
threads.max=200
threads.timeout=60000
jetty.dump.start=false
jetty.dump.stop=false
etc/jetty.xml
OPTIONS=jmx
etc/jetty-jmx.xml
OPTIONS=jsp
jetty.port=8080
http.timeout=30000
etc/jetty-http.xml
etc/jetty-deploy.xml
OPTIONS=rewrite
etc/jetty-rewrite.xml
etc/jetty-demo.xml
OPTIONS=client
etc/test-realm.xml
OPTIONS=jaas
jaas.login.conf=webapps.demo/test-jaas.d/login.conf
etc/jetty-jaas.xml
OPTIONS=jndi,jndi.demo
OPTIONS=plus
etc/jetty-plus.xml
OPTIONS=annotations
etc/jetty-annotations.xml
etc/jetty-ssl.xml
etc/jetty-https.xml
etc/jetty-demo.xml 中定义了默认启动加载的应用包 在webapps.demo目录 root路径的加载是在ROOT包下
———————————————
另外jetty启动的JVM参数配置也在这里 vim start.ini
#===========================================================
# Configure JVM arguments.
# If JVM args are include in an ini file then –exec is needed
# to start a new JVM from start.jar with the extra args.
# If you wish to avoid an extra JVM running, place JVM args
# on the normal command line and do not use –exec
#———————————————————–
# –exec
# -Xmx2000m
# -Xmn512m
# -XX:+UseConcMarkSweepGC
# -XX:ParallelCMSThreads=2
# -XX:+CMSClassUnloadingEnabled
# -XX:+UseCMSCompactAtFullCollection
# -XX:CMSInitiatingOccupancyFraction=80
3.2 JETTY.XML
3.3 ETC/JETTY-DEPLOY.XML
定义了 应用加载包的信息
———————————————————————————————————-
–>
–>
自己定义个加载目录
若是WAR是myapp.war,那么访问路径就是/myapp
若是包名是ROOT.WAR,那么访问路径是/
若是包名是ROOT-foobar.war,那么访问路径是/ 同时建立了一个虚拟主机foobar