使用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
java
<
New
id
="Mywork"
class
="org.mortbay.jetty.webapp.WebAppContext"
>
<
Arg
><
Ref
id
="contexts"
/></
Arg
>
<!--
絕對路徑,能夠指定相對路徑,增長 <SystemProperty name="jetty.home" default="."/> 就行
-->
<
Arg
>
D:\\project\\work\\m2project\\esoft\\esoft-mywork-jsf\\src\\main\\webapp
</
Arg
>
<
Arg
>
/mywork
</
Arg
>
<
Set
name
="defaultsDescriptor"
><
SystemProperty
name
="jetty.home"
default
="."
/>
/etc/webdefault.xml
</
Set
>
<
Set
name
="virtualHosts"
>
<
Array
type
="java.lang.String"
>
<
Item
>
localhost
</
Item
>
</
Array
>
</
Set
>
</
New
>
要想改變原先的webapps主應用,改變下面的配置
web
<
Call
class
="org.mortbay.jetty.webapp.WebAppContext"
name
="addWebApplications"
>
<
Arg
><
Ref
id
="contexts"
/></
Arg
>
<
Arg
><
SystemProperty
name
="jetty.home"
default
="."
/>
/webapps
</
Arg
>
<
Arg
><
SystemProperty
name
="jetty.home"
default
="."
/>
/etc/webdefault.xml
</
Arg
>
<
Arg
type
="boolean"
>
True
</
Arg
>
<!--
extract
-->
<
Arg
type
="boolean"
>
False
</
Arg
>
<!--
parent priority class loading
-->
</
Call
>
默認的web.xml配置文件爲webdefault.xml
若是想配置相應的web參數,能夠更改其應用。
默認的端口爲8080,若是想修改,更改:jetty.port屬性
api
<
Call
name
="addConnector"
>
<
Arg
>
<
New
class
="org.mortbay.jetty.nio.SelectChannelConnector"
>
<
Set
name
="port"
><
SystemProperty
name
="jetty.port"
default
="8080"
/></
Set
>
<
Set
name
="maxIdleTime"
>
30000
</
Set
>
<
Set
name
="Acceptors"
>
2
</
Set
>
<
Set
name
="confidentialPort"
>
8443
</
Set
>
</
New
>
</
Arg
>
</
Call
>
簡單的配置,簡單的啓動tomcat