[CTBA宅物语]使用Jetty做本地的测试服务器
Jetty投入Eclipse怀抱了
今年1月,Webtide宣布Jetty将要投入Eclipse基金会的怀抱。在Eclipse上已经创建好了Jetty项目。
看在这个消息的份上,发一篇在草稿里面积压了一个多月的八卦。
作为一个java粉丝,你可能知道tomcat,知道resin,但是可能你不知道jetty。作为一个低调的高性能java服务器,jetty目前还没有在生产环境得到太广泛的运用(特别在我天朝用的人不多)。而最新的一期的web服务器调查显示,Jetty服务器所占比例正迅速的增长。Jetty在所有web服务器中占据第十二名,在和tomcat相比时得到了80%的分数(意味着每10个tomcat部署就有至少8个jetty的部署)。JBoss、JOnAS 这样开源的 AppServer,还包括 WebLogic Business Connect 和 IBM Tivoli NetView 这样的商业产品都内嵌了jetty。?
?
关于jetty的优点:http://www.iteye.com/topic/408?page=3
关于jetty的license和性能: http://www.iteye.com/topic/775?page=1![[CTBA宅物语]应用Jetty做本地的测试服务器](http://img.reader8.net/uploadfile/jiaocheng/20140188/2925/2014012904251154324.gif)
扯谈社CTBA现在是跑在resin3.1.3上的,运行状况良好。本来没jetty什么事,好像自从石百万受到大黑脸的诱惑开始,就开始埋怨说台式机的myeclipse开起来费劲,Mac里面又不好装,想想干脆给伊在工程里集成了一个jetty,最新版的jetty7.0-pre5。
轻量是一个很大的好处,去除不相关的jar和文档,剩下几M的东西可以很轻松的放到工程里。![[CTBA宅物语]应用Jetty做本地的测试服务器](http://img.reader8.net/uploadfile/jiaocheng/20140188/2925/2014012904251154325.png)
配置倒是满方便的,参考文档修改jetty.xml配置工程目录为jetty的WebContext
????? <New id="CtbaContext" />????? <Arg><Ref id="Contexts"/></Arg>
????? <Arg><SystemProperty name="ctba.home" default="."/>/WebRoot</Arg>
????? <Arg>/</Arg>
为了把系统变量ctba.home传进去,写个简单的批处理启动脚本(对应linux和mac也有一个.sh)
@echo off
cd ../../
set CTBA_WORKSPACE_ROOT=%CD%??
cd ./server/jetty-7/
echo ctba root:%CTBA_WORKSPACE_ROOT%
java -Dctba.home=%CTBA_WORKSPACE_ROOT% -DSTOP.PORT=8081 -DSTOP.KEY=ctba? -jar start.jar
说说期间遇到的一个问题:
jetty运行时会给windows下的文件加锁(http://docs.codehaus.org/display/JETTY/Files+locked+on+Windows),导致jsp等文件不能修改。
解决办法是修改webdefault.xml
??? <init-param>
????? <param-name>useFileMappedBuffer</param-name>
????? <param-value>true</param-value>? ->改为false
??? </init-param>?
原文链接
?
以上,如果有下一篇的话,应该会介绍一下和apache的连携(使用ajp13)