- 浏览: 515567 次
- 性别:
- 来自: 武汉
文章分类
- 全部博客 (268)
- C/C++ (5)
- LUA (0)
- JVM (6)
- UML (1)
- J2SE (43)
- J2EE (15)
- EXTJS (1)
- HTML5 (47)
- ANDROID (2)
- JAVASCRIPT (51)
- WEB SERVICES (0)
- 数据库 (2)
- 数据结构 (0)
- 应用服务器 (11)
- 设计模式应用 (0)
- JAVA性能与缓存 (1)
- ByteCode (5)
- RCP (0)
- Plugin (0)
- Eclipse (3)
- 程序人生 (14)
- Mobile (2)
- Linux/Ubuntu (31)
- sublime (2)
- python (15)
- Git (5)
- NodeJs (3)
- Crosswalk (1)
- Browserify (1)
- Backbone (1)
最新评论
转载链接:http://blog.csdn.net/kongxx/article/details/7224423
对于嵌入式运行Jetty,可以通过简单的一些代码实现一个简单的文件服务器的功能,如下:
package com.google.code.garbagecan.jettystudy.sample3; import org.eclipse.jetty.server.Handler; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.handler.DefaultHandler; import org.eclipse.jetty.server.handler.HandlerList; import org.eclipse.jetty.server.handler.ResourceHandler; public class FileServer { public static void main(String[] args) throws Exception { Server server = new Server(8080); ResourceHandler resourceHandler = new ResourceHandler(); resourceHandler.setDirectoriesListed(true); resourceHandler.setResourceBase("E:/share"); resourceHandler.setStylesheet(""); HandlerList handlers = new HandlerList(); handlers.setHandlers(new Handler[] { resourceHandler, new DefaultHandler() }); server.setHandler(handlers); server.start(); server.join(); } }
这里使用了Jetty自带的ResourceHandler类来处理所有的请求,这个类指定了资源路径,并且允许列出目录和文件,这里需要注意的是 “resourceHandler.setStylesheet("");”,如果没有这一行代码的话,在请求资源的时候后台总是会不停的抛出 NullPointerException。
运行FileServer类,访问http://localhost:8080/就可以看到“E:/share”下的所有文件和目录了。
上面是通过编码的方式实现了简单的文件服务器,其实Jetty也可以通过配置文件的方式实现文件服务器的功能,如下:
创建一个配置文件com/google/code/garbagecan/jettystudy/sample3/fileserver.xml,内容如下:
写道
<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
<Configure id="FileServer" class="org.eclipse.jetty.server.Server">
<Call name="addConnector">
<Arg>
<New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
<Set name="port">8080</Set>
</New>
</Arg>
</Call>
<Set name="handler">
<New class="org.eclipse.jetty.server.handler.HandlerList">
<Set name="handlers">
<Array type="org.eclipse.jetty.server.Handler">
<Item>
<New class="org.eclipse.jetty.server.handler.ResourceHandler">
<Set name="directoriesListed">true</Set>
<Set name="resourceBase">E:/share</Set>
<Set name="stylesheet">.</Set>
</New>
</Item>
<Item>
<New class="org.eclipse.jetty.server.handler.DefaultHandler">
</New>
</Item>
</Array>
</Set>
</New>
</Set>
</Configure>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
<Configure id="FileServer" class="org.eclipse.jetty.server.Server">
<Call name="addConnector">
<Arg>
<New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
<Set name="port">8080</Set>
</New>
</Arg>
</Call>
<Set name="handler">
<New class="org.eclipse.jetty.server.handler.HandlerList">
<Set name="handlers">
<Array type="org.eclipse.jetty.server.Handler">
<Item>
<New class="org.eclipse.jetty.server.handler.ResourceHandler">
<Set name="directoriesListed">true</Set>
<Set name="resourceBase">E:/share</Set>
<Set name="stylesheet">.</Set>
</New>
</Item>
<Item>
<New class="org.eclipse.jetty.server.handler.DefaultHandler">
</New>
</Item>
</Array>
</Set>
</New>
</Set>
</Configure>
创建一个java类FileServerWithXml
package com.google.code.garbagecan.jettystudy.sample3; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.util.resource.Resource; import org.eclipse.jetty.xml.XmlConfiguration; public class FileServerWithXml { public static void main(String[] args) throws Exception { Resource resource = Resource.newClassPathResource("/com/google/code/garbagecan/jettystudy/sample3/fileserver.xml"); XmlConfiguration configuration = new XmlConfiguration(resource.getInputStream()); Server server = (Server) configuration.configure(); server.start(); server.join(); } }
运行FileServerWithXml类,访问http://localhost:8080/也可以看到“E:/share”下的所有文件和目录了。
发表评论
文章已被作者锁定,不允许评论。
-
Apache Http Server与Tomcat实现负载均衡和集群
2013-01-16 10:09 1848一、分布式实现原理 如上图所示,主要通过 Ap ... -
Jetty实战之 嵌入式Jetty运行web app
2012-12-05 15:06 9674转载地址:http://blog.csdn.net/kongx ... -
Jetty实战之 嵌入式Jetty运行Servlet
2012-12-05 15:06 1316转载链接:http://blog.csdn.net/kongx ... -
Jetty实战之 嵌入式Jetty集成Spring运行
2012-12-04 15:03 1122转载链接:http://blog.csdn.net/ko ... -
Jetty实战之 嵌入式运行Jetty多Connector
2012-12-04 14:57 1094转载地址:http://blog.csdn.net/kongx ... -
Jetty实战之 嵌入式运行Jetty
2012-12-04 14:56 1013转载地址:http://blog.csdn.net/kongx ... -
Jetty实战之 安装 运行 部署
2012-12-04 14:47 1115转载地址:http://blog.csdn.net/kongx ... -
Window中Hosts文件的作用
2012-07-10 17:28 1040很多用户都知道在Window ... -
Tomcat内存设置 解决PermGen space
2012-06-30 09:59 1043在使用 Java 程序从数据库中查询大量的数 ... -
tomcat多系统部署方案
2012-06-30 09:56 1641多系统部署到一个 Tomcat 中,如果某一个系 ...
相关推荐
以下是一个简单的示例代码片段,展示了如何创建一个监听8080端口的Server对象,设置一个默认Handler,并使用XML配置文件(如`jetty.xml`)初始化和启动服务器: ```java public class JettyServer { public static...
本实战项目旨在帮助初学者快速掌握Jetty的嵌入式使用方法,通过实例化和配置Jetty服务器,实现Web应用的快速启动和运行。 1. **Jetty简介** - Jetty是一个开源的HTTP服务器和Servlet容器,它遵循Java Servlet和JSR...
1. **部署应用**:讲解如何将WAR文件或自定义配置部署到Jetty服务器。 2. **性能调优**:提供性能监控和调优的策略,包括JMX工具的使用。 3. **热部署与自动重启**:了解如何实现代码变更后应用的热部署和自动重启...
Android i-jetty开源项目是专为Android平台设计的一个轻量级HTTP服务器实现,其核心是嵌入式Jetty服务器。Jetty是一款广泛使用的Java Web服务器和Servlet容器,而Android i-jetty则是将Jetty的特性引入到Android应用...
- **服务器**:Jetty服务器是整个框架的基础,负责管理组件和处理请求。 - **连接器**:连接器处理客户端的连接,如HTTP/HTTPS,并将请求转发给服务器。 - **Handler**:处理器负责处理请求和响应,可以是基本的...
- Spring Boot支持内嵌Tomcat、Jetty等Web服务器,无需额外部署,简化了开发流程。 4. **健康检查与Actuator** - Actuator提供了一组端点,用于监控和管理应用的健康状况、指标、日志等,是微服务治理的重要组件...
2. **嵌入式Web服务器**:Spring Boot支持内嵌Tomcat、Jetty或Undertow等Web服务器,无需额外部署,简化了开发流程。 3. **健康检查与Actuator**:提供Actuator模块,用于监控和管理应用的运行状态,包括健康检查、...
2. **嵌入式Web服务器**:SpringBoot可以内嵌Tomcat或Jetty等Web服务器,使得部署更加简单。 3. **微服务架构**:SpringBoot适合构建独立的、小型的服务,方便实现微服务架构。 4. **starter依赖**:SpringBoot的...
三、Jetty服务器配置 Jetty是一款轻量级、高性能的嵌入式HTTP服务器,常被用于开发和测试环境中。在Spring应用中,我们可以直接将Jetty作为服务器,快速启动并运行我们的应用程序。了解Jetty的基本配置,包括端口...
SpringBoot通过默认配置、嵌入式Servlet容器(如Tomcat或Jetty)以及自动配置特性,使得开发者能够快速地构建独立运行的、生产级别的Java应用程序。 Netty则是一个高性能、异步事件驱动的网络应用框架,用于快速...
传统上,J2EE通常依赖于EJB(Enterprise JavaBeans)作为服务器端逻辑的实现方式,这使得应用的部署和运行成本高昂,开发和学习曲线陡峭。然而,随着时间的推移和开源框架的发展,轻量级J2EE应用成为了一种更受欢迎...
3. **嵌入式Web服务器**:SpringBoot可以内嵌Tomcat或Jetty等Web服务器,无需额外部署步骤,大大简化了开发和测试流程。 4. **命令行接口(CLI)**:SpringBoot提供了一个强大的命令行工具,可以快速创建和运行...
3. **嵌入式Web服务器**:Spring Boot支持内嵌Tomcat或Jetty,允许开发者无需额外部署,直接运行主类启动应用,大大提高了开发效率。 4. **健康检查与Actuator**:Actuator是Spring Boot提供的监控和管理工具,用于...
2. 嵌入式服务器:Spring Boot支持内嵌Tomcat、Jetty等Web服务器,无需额外部署,简化了开发和测试流程。 3. 零配置:Spring Boot推崇“约定优于配置”的原则,很多配置都有默认值,极大地减少了繁杂的配置工作。 ...
2. **嵌入式Web服务器**:Spring Boot支持内嵌Tomcat、Jetty或Undertow,无需额外部署,即可直接运行jar包启动服务。 3. **自动配置(Auto Configuration)**:Spring Boot根据项目类路径下的jar包和配置文件,自动...
- **独立运行**:无需部署WAR包到Tomcat等容器中,内置Tomcat、Jetty或Undertow作为容器。 - **自动配置**:基于类路径中的条件来自动配置Bean。 - **简化依赖管理**:提供一个初始依赖设置,避免版本冲突。 - *...
嵌入式Web服务器如Tomcat或Jetty,让应用可以直接运行而不需额外部署到外部服务器。 接下来,你会学习如何创建一个基本的Spring Boot项目。通常,这需要使用Spring Initializr来初始化项目,选择所需的依赖并生成...
SpringBoot的核心特性包括自动配置、嵌入式Web服务器、起步依赖和命令行工具等。 二、SpringBoot的优势 1. 快速启动:通过“起步依赖”(Starter POMs)可以快速添加所需的依赖,避免了传统Spring项目中复杂的配置...
Apache Shiro是一款强大的Java安全框架...同时,它也展示了如何在Jetty服务器上运行和测试Shiro应用。对于Java开发者来说,掌握这些知识将有助于提升你在安全领域的技能,使你能更好地为用户提供安全且便捷的登录体验。
而嵌入式Web服务器如Tomcat或Jetty,让应用可以直接运行而不需额外部署到外部服务器。 其次,书中会涵盖Spring Boot的启动器(Starters)和配置。启动器是Spring Boot快速上手的关键,它们是预配置的Maven或Gradle...