`
grzrt
  • 浏览: 183861 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Jetty

 
阅读更多

今天偶然碰到这个web容器,在次记录一下

在eclipse中使用jetty

一直以来使用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

<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><Newid="Mywork"class="org.mortbay.jetty.webapp.WebAppContext">
<Arg><Refid="contexts"/></Arg>
<!--绝对路径,可以指定相对路径,增加<SystemPropertyname="jetty.home"default="."/>就行-->
<Arg>D://project//work//m2project//esoft//esoft-mywork-jsf//src//main//webapp</Arg>
<Arg>/mywork</Arg>
<Setname="defaultsDescriptor"><SystemPropertyname="jetty.home"default="."/>
/etc/webdefault.xml</Set>
<Setname="virtualHosts">
<Arraytype="java.lang.String">
<Item>localhost</Item>
</Array>
</Set>

</New>



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

<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><Callclass="org.mortbay.jetty.webapp.WebAppContext"name="addWebApplications">
<Arg><Refid="contexts"/></Arg>
<Arg><SystemPropertyname="jetty.home"default="."/>/webapps</Arg>
<Arg><SystemPropertyname="jetty.home"default="."/>/etc/webdefault.xml</Arg>
<Argtype="boolean">True</Arg><!--extract-->
<Argtype="boolean">False</Arg><!--parentpriorityclassloading-->
</Call>



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

默认的端口为8080,如果想修改,更改:jetty.port属性

<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>-->
<Callname="addConnector">
<Arg>
<Newclass="org.mortbay.jetty.nio.SelectChannelConnector">
<Setname="port"><SystemPropertyname="jetty.port"default="8080"/></Set>
<Setname="maxIdleTime">30000</Set>
<Setname="Acceptors">2</Set>
<Setname="confidentialPort">8443</Set>
</New>
</Arg>
</Call>




简单的配置,简单的启动,

在eclipse中使用jetty是非常简单的,对于其他的ide配置基本上都一致。以前如果想调试web服务,必须要在庞大的开发插件下进行,如myeclipse,其实只是需要简单的功能,然而却不得不接受许多不常用的功能。没有办法,现在有了jetty,如果你只想调试web服务而已,那么请离开那些庞大的开发插件。简单的事情,用简单的方式处理。

首先创建一个web项目,我是采用maven 创建的,用了maven,就喜欢上了,而且正在享受其带来的方便。如下图的目录结构:

在web-inf中可以不需要放置jar文件,因为你是在eclipse中运行,自动会增加相应的classpath中的jar。只是需要把相应的jsp文件放置在webapp中。
接着增加相应的jetty.jar,本来我是采用maven直接增加的,为了清晰的方式,采用手工增加。毕竟这些jar,我是不需要的。如下图

默认,我使用jsp2.1规范,如果需要jsp2.0,可以只增加相应的jsp2.0文件中的jar。
接下来,就配置run application。增加一个java application run.如下图

记得勾上include libraries when...
主要的main class:org.mortbay.xml.XmlConfiguration
最后配置相应的参数:
program 参数为:etc/jetty-mywork-spring.xml,别忘了设置working directory为相应的jetty目录。如下图

最后记得不要忘了在etc/jetty-mywork-spring.xml,增加相应的web 应用。

分享到:
评论

相关推荐

    jetty相关的全部jar包

    jetty-security-9.4.8.v20171121.jar,jetty-io-9.4.8.v20171121.jar,jetty-continuation-9.4.8.v20171121.jar,jetty-client-9.4.8.v20171121.jar,jetty-jmx-9.4.8.v20171121.jar,jetty-plus-9.4.8.v20171121....

    eclipse jetty插件run-jetty-run-1.3.3

    eclipse jetty插件,从...下载run-jetty-run.zip文件,解压后再编写个links文件丢到eclipse的dropins目录下即可,省去了使用eclipse update方式安装的麻烦。 link文件样例如: path=d:\\eclipse_plugins\\run-jetty-run

    jetty嵌入式服务器必须的jar包

    jetty嵌入式服务器开发所必须的jar包,本人使用jetty版本为6.1.3,jar包总数为9个,来自jetty:commons-el-1.0.jar,jasper-compiler-5.5.15,jasper-compiler-jdt-5.5.15.jar,jasper-runtime-5.5.15.jar,jetty-...

    jetty-io-9.4.43.v20210629-API文档-中英对照版.zip

    赠送jar包:jetty-io-9.4.43.v20210629.jar; 赠送原API文档:jetty-io-9.4.43.v20210629-javadoc.jar; 赠送源代码:jetty-io-9.4.43.v20210629-sources.jar; 赠送Maven依赖信息文件:jetty-io-9.4.43.v20210629....

    jetty-http-9.4.11.v20180605-API文档-中英对照版.zip

    赠送jar包:jetty-http-9.4.11.v20180605.jar; 赠送原API文档:jetty-http-9.4.11.v20180605-javadoc.jar; 赠送源代码:jetty-http-9.4.11.v20180605-sources.jar; 赠送Maven依赖信息文件:jetty-...

    jetty-http-9.4.43.v20210629-API文档-中英对照版.zip

    赠送jar包:jetty-http-9.4.43.v20210629.jar; 赠送原API文档:jetty-http-9.4.43.v20210629-javadoc.jar; 赠送源代码:jetty-http-9.4.43.v20210629-sources.jar; 赠送Maven依赖信息文件:jetty-...

    jetty-io-9.4.43.v20210629-API文档-中文版.zip

    赠送jar包:jetty-io-9.4.43.v20210629.jar; 赠送原API文档:jetty-io-9.4.43.v20210629-javadoc.jar; 赠送源代码:jetty-io-9.4.43.v20210629-sources.jar; 赠送Maven依赖信息文件:jetty-io-9.4.43.v20210629....

    jetty-server-8.1.8.v20121106-API文档-中英对照版.zip

    赠送jar包:jetty-server-8.1.8.v20121106.jar; 赠送原API文档:jetty-server-8.1.8.v20121106-javadoc.jar; 赠送源代码:jetty-server-8.1.8.v20121106-sources.jar; 赠送Maven依赖信息文件:jetty-server-8.1.8...

    jetty-util-9.4.43.v20210629-API文档-中文版.zip

    赠送jar包:jetty-util-9.4.43.v20210629.jar; 赠送原API文档:jetty-util-9.4.43.v20210629-javadoc.jar; 赠送源代码:jetty-util-9.4.43.v20210629-sources.jar; 赠送Maven依赖信息文件:jetty-util-9.4.43.v...

    run-jetty-run 1.3.5eclipse插件包

    run-jetty-run 1.3.5(Nightly) 在eclipse 4.5.2中安装jetty插件,然后提取plugins和features目录中的相关文件,打包做成可用link方式安装,省去更换eclipse版本时需要重新下载的问题。 安装方法为新加一个run-jetty...

    Jetty多版本软件包

    Jetty软件包内容: jetty-distribution-9.4.51.v20230217.tar.gz jetty-distribution-9.4.51.v20230217.zip jetty-home-10.0.15.tar.gz jetty-home-10.0.15.zip jetty-home-11.0.15.tar.gz jetty-home-11.0.15.zip ...

    Jetty cometd(Continuation)学习笔记

    Jetty 7是Jetty奔向Eclipse后发布的第一个版本,本次的Jetty 7 RC2带给了我们一个十分诱人的新特性-支持跨域名Ajax请求。众所周知因为安全的原因,多数浏览器都限制了Ajax跨域请求和javascript加载的时候只能是与...

    jetty-6.1.26-API文档-中英对照版.zip

    赠送jar包:jetty-6.1.26.jar; 赠送原API文档:jetty-6.1.26-javadoc.jar; 赠送源代码:jetty-6.1.26-sources.jar; 赠送Maven依赖信息文件:jetty-6.1.26.pom; 包含翻译后的API文档:jetty-6.1.26-javadoc-API...

    jetty相关所有jar包

    jetty相关所有jar包,包含jar包: jetty-continuation-8.1.15.v20140411,jetty-http-8.1.15.v20140411,jetty-io-8.1.15.v20140411,jetty-security-8.1.15.v20140411,jetty-server-8.1.15.v20140411,jetty-util-8.1.15...

    maven集成jetty所需jar包maven-jetty-plugin,多版本

    maven集成jetty必须jar包maven-jetty-plugin,内含多个版本

    jetty-server-9.4.8.v20171121-API文档-中文版.zip

    赠送jar包:jetty-server-9.4.8.v20171121.jar; 赠送原API文档:jetty-server-9.4.8.v20171121-javadoc.jar; 赠送源代码:jetty-server-9.4.8.v20171121-sources.jar; 赠送Maven依赖信息文件:jetty-server-9.4.8...

    jetty-webapp-9.3.19.v20170502-API文档-中文版.zip

    赠送jar包:jetty-webapp-9.3.19.v20170502.jar; 赠送原API文档:jetty-webapp-9.3.19.v20170502-javadoc.jar; 赠送源代码:jetty-webapp-9.3.19.v20170502-sources.jar; 赠送Maven依赖信息文件:jetty-webapp-...

    Jetty嵌入项目代码中示例

    Jetty嵌入项目代码中示例,现我有一示例项目 e:/workspace/web-demo(称为project_home),里面的Web根目录是WebContent。 在project_home建一个jetty目录,子目录如:contexts、etc、lib。 把${jetty_home}/etc...

    jetty-6.1.26-API文档-中文版.zip

    赠送jar包:jetty-6.1.26.jar; 赠送原API文档:jetty-6.1.26-javadoc.jar; 赠送源代码:jetty-6.1.26-sources.jar; 赠送Maven依赖信息文件:jetty-6.1.26.pom; 包含翻译后的API文档:jetty-6.1.26-javadoc-API...

    jetty-util-6.1.26-API文档-中英对照版.zip

    赠送jar包:jetty-util-6.1.26.jar; 赠送原API文档:jetty-util-6.1.26-javadoc.jar; 赠送源代码:jetty-util-6.1.26-sources.jar; 赠送Maven依赖信息文件:jetty-util-6.1.26.pom; 包含翻译后的API文档:jetty-...

Global site tag (gtag.js) - Google Analytics