在用Tomcat 开发Java Web project 时,在调试的时候,由于我们不断改动java 源文件,因而我们需要不断重新启动Tomcat 更新我们的项目,我们把很多时间浪费在了更新上,这样开发效率大大降低。
Jetty 完全支持Hot code debugging ,也就是说,我们在更改java源文件,更改html,jsp时不用再重新启动服务器了,这样节省了大量时间(注意web.xml 等其他配置文件的更新还是需要重新启动服务器的)。
好了现在开始教你如何配置Jetty 到Eclipse.
http://www.eclipse.org/jetty/downloads.php这个地址可以安装eclipse 对jetty支持所需要的东西,可以通过eclipse自动安装
一、安装插件
地址:http://run-jetty-run.googlecode.com/svn/trunk/updatesite
安装方法就不说了。安完后,点击eclipse的run configuration,查看安装成功
二、jetty 配置(可省略直接跳到三)
要想让Jetty启动Web服务器,则要告诉Jetty一些参数,比如端口是多少,哪里才是Web的根目录等。
这个XML配置文件是通用的,对于一般的应用,要修改的个性部分很少,所以保存一份,然后其它的项目只要复制粘贴就行了。
和得到Jar包依赖一样,也有两种方式得到该配置文件。
第一种方法是直接在Jetty官网中下载,然后根据自己的实际情况改下就行了:http://docs.codehaus.org/display/JETTY/jetty.xml
第二种方式是复制以下内容,然后粘贴保存就行了:
<?xml version="1.0"encoding="GBK"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTDConfigure//EN" "http://jetty.mortbay.org/configure.dtd">
<Configure id="Server"class="org.mortbay.jetty.Server">
<Set name="ThreadPool">
<New class="org.mortbay.thread.BoundedThreadPool">
<Set name="minThreads">10</Set>
<Set name="maxThreads">250</Set>
<Set name="lowThreads">25</Set>
</New>
</Set>
<Property name="org.mortbay.util.URI.charset"default="GBK"/>
<Call name="addConnector">
<Arg>
<Newclass="org.mortbay.jetty.nio.SelectChannelConnector">
<Set name="port">
<SystemPropertyname="jetty.port" default="80" /><!--端口号 -->
</Set>
<Setname="maxIdleTime">30000</Set>
<Set name="Acceptors">2</Set>
<Set name="statsOn">false</Set>
<Set name="confidentialPort">8443</Set>
<Setname="lowResourcesConnections">5000</Set>
<Setname="lowResourcesMaxIdleTime">5000</Set>
</New>
</Arg>
</Call>
<Set name="sessionIdManager">
<Newclass="org.mortbay.jetty.servlet.HashSessionIdManager">
<Set name="workerName">node1</Set>
</New>
</Set>
<Set name="handler">
<New id="Handlers"class="org.mortbay.jetty.handler.HandlerCollection">
<Set name="handlers">
<Arraytype="org.mortbay.jetty.Handler">
<Item>
<New id="Contexts"class="org.mortbay.jetty.handler.ContextHandlerCollection" />
</Item>
<Item>
<New id="DefaultHandler"class="org.mortbay.jetty.handler.DefaultHandler" />
</Item>
<Item>
<New id="RequestLog"class="org.mortbay.jetty.handler.RequestLogHandler" />
</Item>
</Array>
</Set>
</New>
</Set>
<Set name="handler">
<New id="Handlers"class="org.mortbay.jetty.handler.HandlerCollection">
<Set name="handlers">
<Arraytype="org.mortbay.jetty.Handler">
<Item>
<Newclass="org.mortbay.jetty.webapp.WebAppContext">
<Set name="contextPath">/</Set><!-- ContextPath-->
<Set name="resourceBase">./WebRoot</Set><!-- Web应用根目录 -->
<Callname="addServlet">
<Arg>org.mortbay.jetty.servlet.DefaultServlet</Arg>
<Arg>/</Arg>
</Call>
<!-- 增加其它的Servlet -->
</New>
</Item>
</Array>
</Set>
</New>
</Set>
<Set name="UserRealms">
<Arraytype="org.mortbay.jetty.security.UserRealm"/>
</Set>
<Set name="