`
bluky999
  • 浏览: 719876 次
  • 性别: 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

相关推荐

    Jetty中文手册

    Jetty入门(视频) 下载和安装Jetty 如何安装一个Jetty包 如何配置Jetty – 主要文档 如何运行Jetty 用JConsole监控Jetty 如何使用Jetty开发 Jetty HelloWorld教程 Jetty和Maven HelloWorld教程 Jetty(6)入门 ...

    Java Web从入门到精通光盘18-21

    【Java Web从入门到精通光盘18-21】是一个涵盖了Java Web开发基础到进阶的教程资源,旨在帮助初学者系统学习并掌握这一领域。在这个光盘中,你可能会遇到一系列关于Web应用程序开发的知识点,包括但不限于以下内容:...

    J2EE完全参考手册-J2EE部署-pdf.rar_J2EE_java入门_部署_部署 JAVA

    了解这些基本概念是学习J2EE的第一步。 2. **J2EE部署描述符**:在J2EE应用中,部署描述符(Deployment Descriptor)是XML文件,用于配置应用程序的行为,例如Servlet映射、安全角色等。理解如何编写和使用这些文件...

    spring boot入门例子

    5. **主程序类(Main Application Class)**:主程序类通常包含`@SpringBootApplication`注解,这个注解结合了`@Configuration`、`@EnableAutoConfiguration`和`@ComponentScan`三个注解的功能,定义了一个Spring ...

    axis2-1.4.1-bin.zip axis2-1.4.1-war.zip

    3. **axis2-1.4.1-war.zip**:这个压缩包是一个WAR(Web Application Archive)文件,表示Axis2作为一个Web应用程序的形式。它可以被部署到任何支持Servlet 2.4或更高版本的Web服务器,如Tomcat、Jetty等。WAR文件...

    Springboot入门到精通.pdf

    3. **内嵌Web服务器**:Spring Boot可以内嵌Tomcat、Jetty等Web服务器,使得打包后的应用可以直接运行,无需额外部署到外部服务器。 4. **健康检查与Actuator**:Spring Boot提供Actuator模块,用于监控和管理应用...

    spring boot 入门项目

    3. **内嵌服务器(Embedded Server)**:Spring Boot 可以内嵌Tomcat、Jetty或Undertow等服务器,无需额外安装服务器,便于开发和部署。 4. **命令行界面(CLI)**:Spring Boot 提供了一个命令行工具,可以用来...

    springboot快速入门

    它集成了大量常用的第三方库配置,如 JDBC、MongoDB、JPA、RabbitMQ、Quartz 等,使得开发者可以快速地创建一个独立的、生产级别的基于 Spring 的应用。 在"springboot快速入门"这个主题中,我们将深入探讨以下几个...

    Spring boot web 访问

    Spring Boot基于约定优于配置的原则,通过内嵌的Servlet容器(如Tomcat或Jetty),我们可以快速地启动一个Web服务。在Spring Initializr中,我们可以选择web依赖来创建一个新的Spring Boot项目。 创建项目后,我们...

    Springboot入门到精通(超详细文档)

    在创建第一个Spring Boot项目时,你可以选择使用Spring Initializr,这是一个在线工具,可以生成一个包含基本依赖的项目结构。下载完成后,你可以使用IDEA、Eclipse或其他Java IDE打开项目,开始编写代码。 Spring ...

    Spring Boot快速入门

    ### 二、快速开始:创建第一个Spring Boot应用 1. **新建项目**:使用IDEA、Eclipse等集成开发环境,选择Spring Initializr新建项目,设置Java版本、Group、Artifact等信息,并选择`spring-boot-starter-web`起步...

    SpringBoot2.x入门到项目实战

    1. **创建第一个SpringBoot应用**:使用Spring Initializr在线生成项目模板,或者通过IDEA、STS等工具创建。 2. **编写主类**:主类通常包含@SpringBootApplication注解,启动SpringBoot应用。 3. **编写Controller*...

    springboot入门例子

    它集成了大量常用的第三方库配置,如 JDBC、MongoDB、JPA、RabbitMQ、Quartz 等,使得开发者能够快速地创建一个独立运行的、生产级别的基于 Spring 的应用。 在“springboot入门例子”中,我们可以看到以下几个核心...

    SpringBoot入门项目

    ### 三、创建第一个SpringBoot应用 1. 创建`Main`类,标记为`@SpringBootApplication`。这个注解包含了`@Configuration`、`@EnableAutoConfiguration`和`@ComponentScan`三个注解,表示这是一个配置类,启用了自动...

    Spring Boot 入门程序

    3. **嵌入式Web服务器**: Spring Boot 支持内嵌Tomcat、Jetty或Undertow等Web服务器,这使得应用可以直接以jar包形式运行,无需额外部署到外部服务器。 4. **自动配置(Auto-configuration)**: Spring Boot 根据...

    Spring Boot的入门程序

    创建第一个 Spring Boot 项目 - **Spring Initializr**:Spring 初始化器是一个在线工具,可以快速生成 Spring Boot 项目的初始结构。只需选择项目类型、Java 版本、Spring Boot 版本,然后添加所需的起步依赖,...

    axis2-1.4.1-war.zip

    标题 "axis2-1.4.1-war.zip" 指的是 Axis2 框架的一个特定版本,1.4.1,以 WAR(Web Application Archive)格式打包。WAR 文件是一种标准的 Java Web 应用程序打包方式,包含了运行一个 Web 应用所需的所有资源,如 ...

    spring boot入门ppt和代码

    3. **创建第一个Spring Boot应用**:使用Spring Initializr创建项目,选择起步依赖,编写主类,启动应用。 4. **Web开发**:讲解如何使用Spring Boot开发RESTful API,包括控制器、模型、视图解析等。 5. **数据...

    jsp_01:我的第一个jsp

    【标题】"我的第一个JSP"是初学者入门Java服务器页面(JSP)技术的经典教程。JSP是一种基于Java的动态网页技术,它允许开发者在HTML或者XML文档中嵌入Java代码,从而实现动态内容的生成。这个压缩包文件"jsp_01-...

Global site tag (gtag.js) - Google Analytics