当前位置: 代码迷 >> Web前端 >> 应用jetty配置 开发web应用
  详细解决方案

应用jetty配置 开发web应用

热度:272   发布时间:2012-11-12 12:31:58.0
使用jetty配置 开发web应用
???
??? 一直以来使用jetty作为我的web开发配置服务器,开始的时候和所有的初学者一样使用tomcat作为开发服务器,可用着用着,感觉tomcat越来 越繁琐以及庞大。后来,用了jboss,知道jboss使用jetty作为其web应用服务器,所以就开始试着使用jetty。从那开始后,jetty就 成为我的开发配置服务器了,从最初的4.0,到现在的6.0一直在使用着。

?? 喜欢jetty的原因,在于其的方便,简单的配置文件,简单的启动脚本,而且在elipse或者其他ide中,进行调试,运行都很方便。

?? 不想多说什么,让事实来说话吧。在开始之前,先下载jetty。目前最新的版本为6.1:
?? http://docs.codehaus.org/display/JETTY/Downloading+and+Installing#download

?? 以前的版本文件是比较小的,现在的版本增加了很多东东,主要是很多例子应用,以及源码,经过删减只有,整个应用还是比较小的,大概也就10m多了。如果只 是需要运行web应用,并且只是需要jsp 2.1规范的话,只有7m多了。以前4.0的时候只有2m多,现在也已经增加了那么多了,时代在进步,没有办法。

?? jetty主要的jar为jetty-6.1.1.jar,servlet-api-2.5-6.1.1.jar,jetty-util- 6.1.1.jar。启动的jar 为start.jar。还有jsp规范的jar。jsp2.1,好像已经减了不少的jar了,只有4个文件core-3.1.1.jar,ant- 1.6.5.jar,jsp-2.1.jar,jsp-api-2.1.jar。core是使用eclipse的jdt,进行jsp编译。

?? jetty的主要配置文件为etc/jetty.xml,当然你可以自己指定别的文件。在start.jar中有个start.config文件是默认的环境配置,以及指定默认的配置文件。可以手工替换。

?? 启动jetty很简单,在命令行下面java -jar start.jar
?? 如果需要指定start.config,使用java -DSTART=start.config -jar start.jart
?? 配置web 应用也非常的简单:
?? 更改jetty.xml就行了,增加web应用的方式包括,直接放置应用在webapps下面,或者配置以下的context

??
<!---->
xml 代码
?
  1. <New?id="Mywork"?class="org.mortbay.jetty.webapp.WebAppContext">??
  2. ??????<Arg><Ref?id="contexts"/>Arg>??
  3. ????????
  4. ??????<Arg>D:\\project\\work\\m2project\\esoft\\esoft-mywork-jsf\\src\\main\\webappArg>??
  5. ??????<Arg>/myworkArg>??
  6. ??????<Set?name="defaultsDescriptor"><SystemProperty?name="jetty.home"?default="."/>/etc/webdefault.xmlSet>??
  7. ??????<Set?name="virtualHosts">??
  8. ????????<Array?type="java.lang.String">??
  9. ??????????<Item>localhostItem>??
  10. ????????<Array>??
  11. ??????<Set>??
  12. ????????
  13. ????<New>??


要想改变原先的webapps主应用,改变下面的配置

<!---->
xml 代码
?
  1. <Call?class="org.mortbay.jetty.webapp.WebAppContext"?name="addWebApplications">??
  2. ??????<Arg><Ref?id="contexts"/>Arg>??
  3. ??????<Arg><SystemProperty?name="jetty.home"?default="."/>/webappsArg>??
  4. ??????<Arg><SystemProperty?name="jetty.home"?default="."/>/etc/webdefault.xmlArg>??
  5. ??????<Arg?type="boolean">TrueArg>????
  6. ??????<Arg?type="boolean">FalseArg>???
  7. ?Call>??


默认的web.xml配置文件为webdefault.xml
如果想配置相应的web参数,可以更改其应用。

默认的端口为8080,如果想修改,更改:jetty.port属性
<!---->
xml 代码
?
  1. <Call?name="addConnector">??
  2. ??<Arg>??
  3. ??????<New?class="org.mortbay.jetty.nio.SelectChannelConnector">??
  4. ????????<Set?name="port"><SystemProperty?name="jetty.port"?default="8080"/>Set>??
  5. ????????<Set?name="maxIdleTime">30000Set>??
  6. ????????<Set?name="Acceptors">2Set>??
  7. ????????<Set?name="confidentialPort">8443Set>??
  8. ??????New>??
  9. ??Arg>??
  10. Call>??




简单的配置,简单的启动,下一篇,我会介绍,如何在eclipse中使用jetty.

?
1 楼 highriver 2007-04-18  
我用的是jetty的plugin,但是web工程里配置logging,想把ibatis执行的sql语句打到控制台上,却打不出来。但是tomcat却可以。这个不知道你试过没有?
2 楼 zyl 2007-04-18  
没有碰到这种情况,一直用log4j打印信息,基本上都能出来
3 楼 bruce198 2007-07-11  
你好,请教个问题。我的工程目录是这样的:D:\jetty-6.1.4rc1\webapps\rm\src\main\webapp\WEB-INF

“rm”是我的工程目录名。如果不用eclipse部署工程,该怎么配置Jetty呢?
我知道应该改这里:
<Set name="webAppDir"><SystemProperty name="jetty.home" default="."/>/webapps</Set>

我改成:
<Set name="webAppDir"><SystemProperty name="jetty.home" default="."/>/webapps/rm/src/main/webapp</Set>
可是不行:
HTTP ERROR: 404
NOT_FOUND
RequestURI=/login!input.do

Powered by jetty://

请问这里的路径怎么写啊?这里先谢过了。哦,对了,这个工程通过eclipse部署是可以的,只要把webapp root di指定到“src/main/webapp”这个目录就可以了。
  相关解决方案