就像把Derby作为DB嵌入到应用程序中一样,我们也可以在应用程序中非常方便地启动Jetty服务器,从而可以在很短时间内启动Web服务器,方便地调试应用程序。 要达到在应用程序中启动调试Jetty,我们所要做的就只有以下三步
。 1、加入Jetty依赖的Jar包: 如果是直接把Jar手动加入到工程中,则只要加入以下几个Jar包就行: 如果不知哪里下载,则可以到Maven库中去找,里面有各种所发布版本的Jar包。 当然,开放的Maven库有很多,一般公司都有自己的Maven库。 比如想用Jbpm,Apache的Maven库中没有,就要到Jboos的Maven库就行了:http://repository.jboss.org/maven2
2、新建Jetty的配置文件(JettyConfig.xml) 和得到Jar包依赖一样,也有两种方式得到该配置文件。 第二种方式是复制以下内容,然后粘贴保存就行了: <?xml version="1.0" encoding="GBK"?> <Call name="addConnector"> <Set name="sessionIdManager"> <Set name="handler"> <Set name="handler"> <Set name="UserRealms"> <Set name="stopAtShutdown">true</Set> 该配置文件要修改的部分一般只有三处:端口号、上下文(ContextPath)和Web应用根目录
。 3、在应用程序中启动Jetty服务器
从程序可以看出,我们所要的,只是一个配置文件就行了。 到此,只要运行(Run/Debug
)该程序,从而可以启动(Run/Debug
)整个Web应用,省去了以前编译、打包、发布的烦恼了。
要想让Java程序跑起来,首先肯定得有程序所依赖的Jar包才行。
如果是用Maven构建工程,则只要加入以下依赖就行:
<!-- Jetty -->
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
<version>6.1.24</version>
<scope>test</scope>
</dependency>
jetty-6.1.24.jar
jetty-util-6.1.24.jar
servlet-api-2.5.jar
最常用的Maven库的地址为:http://repo1.maven.org/maven2
要想让Jetty启动Web服务器,则要告诉Jetty一些参数,比如端口是多少,哪里才是Web的根目录等。
这个XML配置文件是通用的,对于一般的应用,要修改的个性部分很少,所以保存一份,然后其它的项目只要复制粘贴就行了。
第一种方法是直接在Jetty官网中下载,然后根据自己的实际情况改下就行了:http://docs.codehaus.org/display/JETTY/jetty.xml
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//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"/>
?? <Arg>
??? <New class="org.mortbay.jetty.nio.SelectChannelConnector">
???? <Set name="port">
?????<SystemProperty name="jetty.port" default="80" /><!-- 端口号 -->
???? </Set>
???? <Set name="maxIdleTime">30000</Set>
???? <Set name="Acceptors">2</Set>
???? <Set name="statsOn">false</Set>
???? <Set name="confidentialPort">8443</Set>
???? <Set name="lowResourcesConnections">5000</Set>
???? <Set name="lowResourcesMaxIdleTime">5000</Set>
??? </New>
?? </Arg>
</Call>
?? <New class="org.mortbay.jetty.servlet.HashSessionIdManager">
??? <Set name="workerName">node1</Set>
?? </New>
</Set>
?? <New id="Handlers" class="org.mortbay.jetty.handler.HandlerCollection">
??? <Set name="handlers">
???? <Array type="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>
?? <New id="Handlers" class="org.mortbay.jetty.handler.HandlerCollection">
??? <Set name="handlers">
???? <Array type="org.mortbay.jetty.Handler">
????? <Item>
?????? <New class="org.mortbay.jetty.webapp.WebAppContext">
???????<Set name="contextPath">/</Set><!-- ContextPath -->
??????? <Set name="resourceBase">./WebRoot</Set><!-- Web应用根目录 -->
??????? <Call name="addServlet">
???????? <Arg>org.mortbay.jetty.servlet.DefaultServlet</Arg>
???????? <Arg>/</Arg>
??????? </Call>
??????? <!-- 增加其它的Servlet -->
?????? </New>
????? </Item>
???? </Array>
??? </Set>
?? </New>
</Set>
?? <Array type="org.mortbay.jetty.security.UserRealm"/>
</Set>
<Set name="sendServerVersion">true</Set>
<Set name="gracefulShutdown">1000</Set>
</Configure>
要启动Jetty服务器,只要一个Main函数就行:
public static void main(String[] args) throws Exception {
Server server = new Server();
XmlConfiguration configuration = new XmlConfiguration(new File("JettyConfig.xml").toURI().toURL());
configuration.configure(server);
server.start();
}
详细解决方案
在Eclipse中应用Jetty调试Web应用<转>
热度:91 发布时间:2012-07-15 20:20:05.0
在Eclipse中使用Jetty调试Web应用
? 很好用,比在eclipse中启动TOMCAT要快多了,适合开发调试
相关解决方案
- eclipse struts2找不到action!调了一个晚下了
- Eclipse + Tomcat Debug時很慢,该怎么解决
- eclipse+tomcat6.0+oracle 10g配置数据库连接池的异常
- eclipse ee版本 怎么新建和发布 web project
- eclipse 运用URL连接出错,求解
- eclipse jee tomcat警告有关问题
- eclipse 提醒 configure build path
- !hadoop 0.21.0 eclipse 3.7 win7,点击run on hadoop报错
- JDBC MYSQL 驱动加载失败 JSP DAO ECLIPSE,该怎么解决
- Eclipse 报错org.apache.catalina.LifecycleException: Failed to start component。该怎么解决
- eclipse 老崩溃 错误异常如下
- Eclipse JSP调用Servlet的有关问题
- eclipse 怎么发布 Dynamic web project到Tomcat
- eclipse 经典版,最新稳定版是多少?解决方法
- 【文件分享】Eclipse Plug-in资料分享
- eclipse 在线安装 birt,该怎么解决
- 现下公司里开发用的 Eclipse + MyEclipse + Tomcat + JDK 都是什么版本的
- Eclipse plugin/RCP开发资料大整理
- 现时公司里开发用的 Eclipse + MyEclipse + Tomcat + JDK 都是什么版本的
- j2me eclipse antenna打包混合出错了,该怎么处理
- Eclipse + wtk下,如何加com.nokia.mid.ui
- Eclipse 混淆包错误有关问题
- Eclipse 调试 J2ME 出现有关问题了。
- eclipse 3.2中J2ME 开发配置有关问题
- eclipse wtk 2.2整和有关问题
- eclipse 集成 javaAPI 的有关问题
- eclipse class not found 愁死了解决方法
- eclipse 没法打包资源文件
- 急问:S60,eclipse,打开模拟器总是提示“unhandled exception.Close application?该如何解决
- 请教怎么在 Eclipse 中配置M3G 包以 支持 J2ME 的 3D 游戏开发?