`
bluky999
  • 浏览: 716501 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Jetty 入门:安装,部署第一个web application

阅读更多

1 Jetty 简介

 

    Jetty 是一个开源的servlet容器,它为基于Java的web内容,例如JSP和servlet提供运行环境。Jetty是使用Java语言编写的,它的 API以一组JAR包的形式发布。开发人员可以将Jetty容器实例化成一个对象,可以迅速为一些独立运行(stand-alone)的Java应用提供 网络和web连接。

 

  Jetty 可以作为嵌入式服务器使用,Jetty的运行速度较快,而且是轻量级的,可以在Java中可以从test case中控制其运行。从而可以使自动化测试不再依赖外部环境,顺利实现自动化测试。

 

      Jetty is an open-source, standards-based, full-featured web server and servlet container implemented entirely in Java. It is released under the Apache 2.0 licence and is therefore free for commercial use and distribution.

 

 

2 Jetty 下载安装,启动与关闭

 

下载: http://jetty.mortbay.org/jetty/  目前的稳定版是 Jetty6,建议项目中使用此版本

 

安装: 和zip版的tomcat几乎一样,解压到你自己的目录即可

 

根目录下与操作密切相关的主要为:

 

(1 start.jar 用于启动jetty,最简单的方法:

 

java -jar startup.jar

 

这种方式等同于下面的启动方式; 关闭时ctrl+c 即可 !

 

 

Running jetty6 is as simple as going to your jetty installion directory and typing:

java -jar start.jar etc/jetty.xml

This will start jetty and deploy a demo webapp available at:

http://localhost:8080/test

 

Stopping

Apart from stopping jetty with a cntrl-c in the same terminal window as you started it, you can
start Jetty so that it listens on a local port for stop commands:

java -DSTOP.PORT=8079 -DSTOP.KEY=secret -jar start.jar

The server can then be stopped using a different terminal window on the same machine:

java -DSTOP.PORT=8079 -DSTOP.KEY=secret -jar start.jar --stop

If the STOP.KEY property is ommitted from the start command, then a random key is printed on standard out. If the STOP.PORT is set to 0, a random available port is assigned and printed on stdout.

 


(2  webapps : 这就是部署项目的目录

 

 


3 Jetty 项目部署

 

(1 直接将项目文件夹放至 webapps下即可;

(2 将项目打包为war,放至webapps下即可!

 

 

是不是很简单呢??? 类似于tomcat,jboss ???  第一个项目都是这么简单的!

 

 

到这里,相信我们都可以自己开发和部署了;但是关于Jetty的具体配置调整和性能调优等,还需要更进一步的学习和实践才行!

 

 

Good Luck !

 

 

 

 

分享到:
评论
3 楼 bluky999 2010-03-31  
另外,你使用struts等一些外部的jar,是不是都带齐了 ?
2 楼 bluky999 2010-03-31  
是不是端口的问题? 确保8080没有被使用? 

arsenepark 写道
我直接把war放到webapps下,出现这样的错误,不知道楼主遇到过没有。
我用maven2建的工程,在eclipse中调试好用,降war放到tomcat下也好用,就是放到jetty下出错

详细错误如下:


E:\Program Files\Apache Software Foundation\jetty7>java -jar start.jar etc/jetty
.xml
2010-03-29 21:52:20.494:INFO::Logging to StdErrLog::DEBUG=false via org.eclipse.
jetty.util.log.StdErrLog

。。。 。。。

2010-03-29 21:52:26.166:INFO::Opened E:\Program Files\Apache Software Foundation
\jetty7\logs\2010_03_30.request.log
2010-03-29 21:52:26.197:INFO::Started SelectChannelConnector@0.0.0.0:8080

1 楼 arsenepark 2010-03-30  
我直接把war放到webapps下,出现这样的错误,不知道楼主遇到过没有。
我用maven2建的工程,在eclipse中调试好用,降war放到tomcat下也好用,就是放到jetty下出错

详细错误如下:


E:\Program Files\Apache Software Foundation\jetty7>java -jar start.jar etc/jetty
.xml
2010-03-29 21:52:20.494:INFO::Logging to StdErrLog::DEBUG=false via org.eclipse.
jetty.util.log.StdErrLog
2010-03-29 21:52:20.916:INFO::jetty-7.0.1.v20091125
2010-03-29 21:52:21.151:INFO::Deploy E:\Program Files\Apache Software Foundation
\jetty7\contexts\test.xml -> WebAppContext@11ddcde@11ddcde/,null,E:\Program File
s\Apache Software Foundation\jetty7/webapps/test.war
2010-03-29 21:52:21.229:INFO::Deploy E:\Program Files\Apache Software Foundation
\jetty7\contexts\javadoc.xml -> ContextHandler@1d85f79@1d85f79/javadoc,file:/E:/
Program%20Files/Apache%20Software%20Foundation/jetty7/javadoc/
2010-03-29 21:52:21.229:INFO::Deploy E:\Program Files\Apache Software Foundation
\jetty7\contexts\demo.xml -> MovedContextHandler@1d80e6d@1d80e6d/demo,null
2010-03-29 21:52:21.354:INFO::Extract jar:file:/E:/Program%20Files/Apache%20Soft
ware%20Foundation/jetty7/webapps/test.war!/ to C:\Documents and Settings\Dennis
Park\Local Settings\Temp\Jetty_0_0_0_0_8080_test.war____.hcx133\webapp
2010-03-29 21:52:21.682:INFO::NO JSP Support for /, did not find org.apache.jasp
er.servlet.JspServlet
2010-03-29 21:52:22.338:INFO::Logging to StdErrLog::DEBUG=false via org.eclipse.
jetty.util.log.StdErrLog
2010-03-29 21:52:23.838:INFO:/:Managing org.eclipse.jetty.servlets.ProxyServlet.
Logger
2010-03-29 21:52:23.838:INFO:/:Managing org.eclipse.jetty.servlets.ProxyServlet.
ThreadPool
2010-03-29 21:52:23.838:INFO:/:Managing org.eclipse.jetty.servlets.ProxyServlet.
HttpClient
2010-03-29 21:52:23.838:INFO:org.eclipse.jetty.servlets.ProxyServlet:ProxyServle
t @ /google to http://www.google.com
2010-03-29 21:52:23.932:INFO::Extract jar:file:/E:/Program%20Files/Apache%20Soft
ware%20Foundation/jetty7/webapps/m2test0.war!/ to C:\Documents and Settings\Denn
is Park\Local Settings\Temp\Jetty_0_0_0_0_8080_m2test0.war__m2test0__uypraf\weba
pp
2010-03-29 21:52:24.354:INFO::NO JSP Support for /m2test0, did not find org.apac
he.jasper.servlet.JspServlet
2010-03-29 21:52:25.588:INFO:/m2test0:Initializing Spring root WebApplicationCon
text
2010-3-29 21:52:25 org.springframework.web.context.ContextLoader initWebApplicat
ionContext
信息: Root WebApplicationContext: initialization started
2010-3-29 21:52:25 org.springframework.context.support.AbstractApplicationContex
t prepareRefresh
信息: Refreshing org.springframework.web.context.support.XmlWebApplicationContex
t@15718f2: display name [Root WebApplicationContext]; startup date [Mon Mar 29 2
1:52:25 VET 2010]; root of context hierarchy
2010-3-29 21:52:25 org.springframework.beans.factory.xml.XmlBeanDefinitionReader
loadBeanDefinitions
信息: Loading XML bean definitions from file [C:\Documents and Settings\Dennis P
ark\Local Settings\Temp\Jetty_0_0_0_0_8080_m2test0.war__m2test0__uypraf\webapp\W
EB-INF\classes\applicationContext.xml]
2010-3-29 21:52:25 org.springframework.context.support.AbstractApplicationContex
t obtainFreshBeanFactory
信息: Bean factory for application context [org.springframework.web.context.supp
ort.XmlWebApplicationContext@15718f2]: org.springframework.beans.factory.support
.DefaultListableBeanFactory@18d7ace
2010-3-29 21:52:25 org.springframework.beans.factory.support.DefaultListableBean
Factory preInstantiateSingletons
信息: Pre-instantiating singletons in org.springframework.beans.factory.support.
DefaultListableBeanFactory@18d7ace: defining beans [helloWorldAction]; root of f
actory hierarchy
2010-3-29 21:52:25 org.springframework.web.context.ContextLoader initWebApplicat
ionContext
信息: Root WebApplicationContext: initialization completed in 297 ms
2010-3-29 21:52:26 com.opensymphony.xwork2.util.logging.commons.CommonsLogger in
fo
信息: Parsing configuration file [struts-default.xml]
2010-3-29 21:52:26 com.opensymphony.xwork2.util.logging.commons.CommonsLogger er
ror
严重: Dispatcher initialization failed
Unable to load configuration. - bean - jar:file:/C:/Documents%20and%20Settings/D
ennis%20Park/Local%20Settings/Temp/Jetty_0_0_0_0_8080_m2test0.war__m2test0__uypr
af/webapp/WEB-INF/lib/struts2-core-2.1.8.1.jar!/struts-default.xml:59:150
        at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(
ConfigurationManager.java:58)
        at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Di
spatcher.java:374)
        at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:418)
        at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.
java:190)
        at org.eclipse.jetty.servlet.FilterHolder.doStart(FilterHolder.java:74)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLife
Cycle.java:55)
        at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.ja
va:676)
        at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletC
ontextHandler.java:193)
        at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.jav
a:978)
        at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandle
r.java:586)
        at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:349
)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLife
Cycle.java:55)
        at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCol
lection.java:165)
        at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(Con
textHandlerCollection.java:162)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLife
Cycle.java:55)
        at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCol
lection.java:165)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLife
Cycle.java:55)
        at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrappe
r.java:92)
        at org.eclipse.jetty.server.Server.doStart(Server.java:228)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLife
Cycle.java:55)
        at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:99
0)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:955
)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.eclipse.jetty.start.Main.invokeMain(Main.java:394)
        at org.eclipse.jetty.start.Main.start(Main.java:546)
        at org.eclipse.jetty.start.Main.parseCommandLine(Main.java:208)
        at org.eclipse.jetty.start.Main.main(Main.java:75)
Caused by: Unable to load bean: type:org.apache.struts2.components.template.Temp
lateEngine class:org.apache.struts2.components.template.JspTemplateEngine - bean
- jar:file:/C:/Documents%20and%20Settings/Dennis%20Park/Local%20Settings/Temp/J
etty_0_0_0_0_8080_m2test0.war__m2test0__uypraf/webapp/WEB-INF/lib/struts2-core-2
.1.8.1.jar!/struts-default.xml:59:150
        at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.reg
ister(XmlConfigurationProvider.java:221)
        at org.apache.struts2.config.StrutsXmlConfigurationProvider.register(Str
utsXmlConfigurationProvider.java:101)
        at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContai
ner(DefaultConfiguration.java:169)
        at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(
ConfigurationManager.java:55)
        ... 30 more
Caused by: java.lang.NoClassDefFoundError: javax/servlet/jsp/JspWriter
        at java.lang.Class.getDeclaredConstructors0(Native Method)
        at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
        at java.lang.Class.getDeclaredConstructors(Class.java:1836)
        at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.reg
ister(XmlConfigurationProvider.java:211)
        ... 33 more
Caused by: java.lang.ClassNotFoundException: javax.servlet.jsp.JspWriter
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoade
r.java:304)
        at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoade
r.java:266)
        ... 37 more
2010-03-29 21:52:26.151:WARN::FAILED action2: Unable to load configuration. - be
an - jar:file:/C:/Documents%20and%20Settings/Dennis%20Park/Local%20Settings/Temp
/Jetty_0_0_0_0_8080_m2test0.war__m2test0__uypraf/webapp/WEB-INF/lib/struts2-core
-2.1.8.1.jar!/struts-default.xml:59:150
2010-03-29 21:52:26.151:WARN::Failed startup of context WebAppContext@827968@827
968/m2test0,file:/C:/Documents%20and%20Settings/Dennis%20Park/Local%20Settings/T
emp/Jetty_0_0_0_0_8080_m2test0.war__m2test0__uypraf/webapp/,file:/E:/Program%20F
iles/Apache%20Software%20Foundation/jetty7/webapps/m2test0.war
Unable to load configuration. - bean - jar:file:/C:/Documents%20and%20Settings/D
ennis%20Park/Local%20Settings/Temp/Jetty_0_0_0_0_8080_m2test0.war__m2test0__uypr
af/webapp/WEB-INF/lib/struts2-core-2.1.8.1.jar!/struts-default.xml:59:150
        at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:431)
        at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.
java:190)
        at org.eclipse.jetty.servlet.FilterHolder.doStart(FilterHolder.java:74)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLife
Cycle.java:55)
        at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.ja
va:676)
        at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletC
ontextHandler.java:193)
        at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.jav
a:978)
        at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandle
r.java:586)
        at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:349
)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLife
Cycle.java:55)
        at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCol
lection.java:165)
        at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(Con
textHandlerCollection.java:162)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLife
Cycle.java:55)
        at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCol
lection.java:165)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLife
Cycle.java:55)
        at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrappe
r.java:92)
        at org.eclipse.jetty.server.Server.doStart(Server.java:228)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLife
Cycle.java:55)
        at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:99
0)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:955
)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.eclipse.jetty.start.Main.invokeMain(Main.java:394)
        at org.eclipse.jetty.start.Main.start(Main.java:546)
        at org.eclipse.jetty.start.Main.parseCommandLine(Main.java:208)
        at org.eclipse.jetty.start.Main.main(Main.java:75)
2010-03-29 21:52:26.166:INFO::Opened E:\Program Files\Apache Software Foundation
\jetty7\logs\2010_03_30.request.log
2010-03-29 21:52:26.197:INFO::Started SelectChannelConnector@0.0.0.0:8080

相关推荐

Global site tag (gtag.js) - Google Analytics