`
jiangwenfeng762
  • 浏览: 288171 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Jetty源码学习

阅读更多

Jetty设计的很简洁易懂:

Jetty的核心组件及作用如下:

 

HttpListener:监听客户端请求,有请求,则构建HttpConnection对象,就像建立了一个连接

 

HttpConnection:HttpConection会构建HttpRequest和HttpResponse对象,完成用户数据的封装,然后调用HttpServer.service(HttpRequest req,HttpResponse res)方法.这个过程非常形象,一次请求的连接建立好之后就触发HttpServer的service方法处理本次请求。

 

HttpServer:HttpServer可以有多个HttpContext,每个HttpContext代表一个web application,这个也很好理解:一台服务器可以部署多个web application,每个web application可以指定一个端口监听请求,因此HttpServer也就可以对应多个HttpListener。HttpServer.service方法会调用HttpContext.handle方法,也很好理解:HttpServer分析出当前请求属于哪个具体的HttpContext,然后就把请求交给目标HttpContext来处理。

 

HttpContext:代表一个web application,其核心方法是handler

 

HttpRequest

HttpResponse

 

HttpHandler:每个HttpContext(一个web application)可以有多个HttpHandler,比如Jetty默认的HttpHandler实现包括

1)ReourceHandler:用于处理静态内容,如以扩展名为.html的文件

2)SecurityHandler:提供基本的安全验证

3)ForwardHandler:转发一个request到另一个url

4)ServletHandler:用于将request交由具体的Servlet类进行处理

 

标准web应用的配置信息在WEB-INF/web.xml中,对于Jetty服务器来说,容器启动装载web应用时,web.xml中配置由XmlConfiguration对象代表,Jetty使用java反射技术从XmlConfiguration中构建当前web应用的HttpHandler对象。

分享到:
评论
1 楼 u010681276 2015-03-09  
请问:最近准备jetty的源码,但是找不到源码,是否可以给一份,或者给出链接,十分感谢(希望是)jetty9.2.9

相关推荐

    i-jetty源码

    四、源码学习 深入学习i-jetty源码有助于理解Web服务器和Servlet容器的工作原理: 1. **Jetty Server**:研究`Server`类,它是整个i-jetty的入口点,负责配置和启动服务器。 2. **Connector**:理解`Connector`...

    jetty源码查阅

    7. **源码学习实践** - 创建一个简单的Jetty服务器,观察源码中的对应操作。 - 分析请求处理过程,理解`Handler`和`Connector`的角色。 - 针对特定需求,比如性能优化或新功能添加,深入研究相关源码。 通过阅读...

    jetty 嵌入式开发源码

    Jetty是一款轻量级、高性能的Java Web服务器和Servlet容器,它允许开发者将Web服务器直接嵌入到他们的应用中,从而...同时,源码学习也有助于提升解决问题的能力,对于从事Java Web开发的工程师来说是一份宝贵的资源。

    jetty源代码下载

    源代码下载是获取Jetty开发细节和学习其实现方式的重要途径。你可以通过访问Jetty的官方网站或者使用Git版本控制系统从其官方仓库获取最新的源代码。通常,下载源码的步骤包括: 1. **访问Git仓库**:首先,你需要...

    jetty-6.1.26源码

    Jetty 6.1.26是该服务器的一个旧版本,虽然现在已经有了更新的版本,但理解其源码仍然对学习Web服务器原理和Java Servlet编程具有重要的价值。 在Jetty 6.1.26源码中,我们可以深入研究以下几个关键知识点: 1. **...

    jetty-6.1.9服务器(2),包含源码

    Jetty 6.1.9 是一款轻量级的开源HTTP服务器和Servlet容器,它以其高效、可嵌入和模块化而闻名。...通过学习和使用这个版本,你可以深入了解Web服务器的工作机制,并掌握Comet技术,从而开发出更具实时性的Web应用。

    jetty-6.1.9服务器(1),包含源码

    这个压缩包“jetty-6.1.9服务器(1)”包含了Jetty 6.1.9的部分源码,可能是为了便于开发者学习和理解Jetty的工作原理。由于内容较大,所以被分成了多个部分,用户需要将所有部分合并才能得到完整的源码。 Jetty的...

    i_jetty安卓端源码

    《深入解析i_jetty安卓端源码》 i_jetty是一款专门为Android平台设计的轻量级Web服务器组件,它基于著名的Java Web服务器Jetty进行优化和...通过学习和实践,开发者能够更好地利用i_jetty解决实际问题,提高开发效率。

    camunda-bpm-jetty-源码.rar

    《深入剖析Camunda BPM与Jetty集成的源码解析》 Camunda BPM是一个开源的工作流和业务自动化平台,它提供了一套强大的工具...对于希望在企业级项目中使用Camunda BPM的开发者来说,这份源码无疑是一份宝贵的学习资料。

    OSGI-Jetty示例,Java源码,很得劲

    OSGI(Open Services Gateway Initiative)是一种模块化系统和Java服务框架,它允许在单个...通过深入研究提供的源码,你可以进一步理解OSGI和Jetty的集成原理,这对于理解和开发复杂的、模块化的Java应用非常有帮助。

    jetty 服务器使用

    安装Jetty非常简单,可以通过下载源码编译,或者直接获取预编译的二进制包。在解压后的目录中,包含`start.jar`文件,这是启动Jetty的核心。通过命令行执行`java -jar start.jar`即可启动服务器。 2. **启动与停止...

    实战 Jetty--让你快速速学会jetty

    Jetty是一个轻量级、高性能的HTTP服务器和Servlet容器,完全用Java编写,遵循开放源码和标准。自1995年成立以来,Jetty...通过深入学习和实践,你可以充分利用Jetty的各项特性,提高你的开发效率并优化应用程序的性能。

    Jetty

    对于希望深入了解Jetty工作原理的开发者,阅读源码是很好的学习途径。Jetty的源码清晰、结构分明,可以帮助我们理解其内部的工作机制,如请求处理流程、线程模型等。 ### 工具支持 为了方便管理和调试,Jetty提供...

    i-jetty 项目lib和apk源码

    开发者可以通过阅读源码学习如何实现一个Android上的微型服务器,了解Jetty服务器的核心组件,如Request、Response对象,Handler接口等。此外,源码还可能包含了一些示例代码或测试用例,可以帮助开发者快速上手。 ...

    eclipse-jetty-plugin-master_源码.rar

    总的来说,这份源码不仅对于Eclipse插件开发者,也对于任何对Jetty或者Servlet容器有兴趣的开发者都是一份宝贵的学习资源。通过深入研究,可以提升对Java Web技术的理解,提高开发效率,甚至可以参与到Jetty或者...

    jetty.project-jetty-9.4.35.v20201120.rar

    Jetty是一款轻量级、高性能的Java Web服务器和Servlet容器,它被广泛应用于各种规模的项目,从微型服务器到大型企业级应用。...通过学习和使用Jetty,开发者可以创建高效、灵活且易于维护的Java Web应用程序。

    maven多模块项目+jetty热部署实例源码

    ** Maven多模块项目详解 ** ...通过这个实例源码,你可以学习如何在Eclipse中配置Maven多模块项目,并结合Jetty进行热部署。了解并实践这些知识点,将有助于你快速构建和调试Java Web项目,提高开发效率。

    jetty服务器

    总的来说,这份资源包提供了一套完整的Jetty服务器学习和实践材料,无论你是初学者还是有经验的开发者,都能从中受益,快速理解和使用Jetty服务器。记得在使用过程中,如果遇到问题,可以参考文档或者向作者留言寻求...

    jetty入门

    然而,Jetty的功能远不止这些,深入研究源码可以更好地理解其内部机制,从而在实际开发中发挥更大的作用。例如,你可以学习Jetty如何实现线程池管理,如何优化网络通信,以及如何利用WebSocket进行实时通信等。 ...

    jetty相关

    学习Jetty不仅可以提升Java Web开发能力,还能帮助你理解服务器内部的工作机制,为开发更高效、更稳定的Web服务打下坚实基础。无论是初学者还是经验丰富的开发者,都可以通过深入研究Jetty来增强自己的技能集。

Global site tag (gtag.js) - Google Analytics