`
494078416
  • 浏览: 80488 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

Struts、Ajax、Restful、Web Service 狂想曲框架实现篇(一)

 
阅读更多

承接上篇的简单介绍,下面详细介绍整个框架的大致结构。

      先来看一下整个框架包的结构:

 

      可以看出框架包含的包很少,包的结构也超简单。这里 涉及FilterActionSupportRouter等三个概念,他们之间的关系,通过下图来表示:

 

      图也不规范,说不上来是哪个UML图,不过通过它也能看出一个请求到达时,框架基本的处理流程。首先由Filter拦截到所有请求,然后把请求交给所有注册的Router类,如果请求的Url正好是一个Router要拦截的,则把此请求交给这个Router,框架不再把请求向下传递。Router得到请求后,分析Url,通过Url里的信息把请求交给对应的ActionSupport的子类来处理。

      这里拦截采用Filter来处理,这跟多数的web框架一样,使用FilterServlet有更多的能力进行请求的分发。首先在一个web工程的web.xml文件中配置框架的UrlFilter类来拦截所有的请求。需要注意的一点是dispatcher 要设置为request,如果设置了forward的话,由框架内部进行的forward又会被框架拦截,从而造成无限的循环。Url-pattern设置为/*,表示所有的请求都会拦截,从而把对url分发的权利交由框架本身,而不是采用jsp规范里的url分发策略。框架在处理所有请求的url 时,依次交给各个Router类来处理,如果Router类判断是符合自己的url格式,则分发给 action 处理。如果不能处理再交给下一级的Router,最后url经由所有Router处理完,剩下的资源文件的url,如http://xxx.xxx.xxx.jpg,则框架调用filterdoChain()方法,通过filter的过滤去访问web里的资源。

<filter>

      <filter-name>unicornWeb</filter-name>

      <filter-class>com.mh.mvc.filter.UrlFilter</filter-class>

</filter>

<filter-mapping>

    <filter-name>unicornWeb</filter-name>

    <url-pattern>/*</url-pattern>

    <dispatcher>REQUEST</dispatcher>

</filter-mapping>

      大致的原理就是这样,在下篇介绍框架的详细实现。

分享到:
评论
1 楼 bovxiu2 2012-05-29  
要是能有 系列性的教程 对于新手的我 很有帮助 楼主也可以温故知新

相关推荐

    RESTful Web Service实现转账

    在现代的Web应用程序开发中,RESTful Web Service已经成为构建分布式系统和服务之间通信的重要方式。本文将深入探讨如何利用RESTful架构来实现转账业务,同时关注事务处理和并发控制这两个关键领域。 首先,让我们...

    大神的Restful Web Service 详细介绍

    大神的Restful Web Service 详细介绍,Objectives By the end of this class, you should be able to: Give a working definition of RESTful Web Services actions, Enable a RESTful user in the SM operator ...

    Java Restful Web 源代码,Java Restful Web 源代码

    Java Restful Web 源代码Java Restful Web 源代码Java Restful Web 源代码Java Restful Web 源代码Java Restful Web 源代码Java Restful Web 源代码Java Restful Web 源代码Java Restful Web 源代码Java Restful Web...

    使用Java创建RESTful Web Service - ImportNew1

    Jersey框架是Java实现RESTful Web服务的常用框架,提供了一个简单易用的方式来创建RESTful Web服务。 在本文中,我们讨论了如何使用Java创建RESTful Web服务,包括如何使用Jersey框架创建RESTful Web服务的示例代码...

    RESTful Web Service Demo

    总的来说,"RESTful Web Service Demo"项目是一个实践性的教程,它向我们展示了如何使用Java和Spring Boot来创建一个支持CRUD操作的RESTful服务,这在现代Web开发中是非常常见的需求。通过学习和实践这个示例,...

    《Java RESTful Web Service实战》PDF版本下载.txt

    《Java RESTful Web Service实战》PDF版本下载

    JAX-RS方式的RESTful Web Service开发

    RESTful Web Service是一种基于HTTP协议的、无状态的、客户端-服务器交互模式,它利用HTTP方法(GET、POST、PUT、DELETE等)来实现对资源的操作。JAX-RS是Java API for RESTful Web Services的简称,它是Java平台上...

    2018最新谷歌浏览器RESTful Web Service离线版包含definitions.json

    标题中的“2018最新谷歌浏览器RESTful Web Service离线版”指的是一个适用于谷歌浏览器的、用于开发和测试RESTful Web服务的工具,该工具的离线版本。RESTful Web Service是一种基于HTTP协议的软件架构风格,用于...

    Java RESTful Web Service实战.pdf

    Java RESTful Web Service是现代Web应用开发中的一个重要概念,它基于Representational State Transfer(表述性状态转移)架构原则,提供了一种轻量级、高效且易于理解和实现的接口设计方式。在本PDF教程《Java ...

    Java+restful+Web+Service实战

    Java RESTful Web Service实战是Java开发领域中一个重要的实践教程,它主要涵盖了使用Java技术和RESTful架构风格来创建高效、可扩展的网络服务。REST(Representational State Transfer)是一种网络应用程序的设计...

    Spring实现RESTful Web 服务Demo

    本教程将通过一个名为"spring-mvc-demo"的项目,详细介绍如何使用Spring框架来实现RESTful Web服务。 一、Spring MVC与RESTful Web服务 Spring MVC是Spring框架的一部分,专门用于处理Web请求和响应。RESTful Web...

    Restful Web Service CookBook

    Restful web service cook book 中文版

    使用Java创建RESTful Web Service

    在IT行业中,RESTful Web Service是一种广泛采用的网络应用程序接口(API)设计风格,它基于Representational State Transfer(表述性状态转移)原则。本教程将深入讲解如何使用Java语言来创建RESTful Web Service。...

    《Java Restful Web Service实战》源代码.zip

    《Java Restful Web Service实战》源代码.zip是一个包含与Java Restful Web Service开发相关的实践项目源码的压缩包。在本文中,我们将深入探讨Java Restful Web Service的关键概念、技术栈以及如何通过实际示例来...

    基于RESTful Web Service的数据资源交换系统设计与实现.pdf

    【RESTful Web Service】RESTful Web Service是一种轻量级的Web服务设计风格,它基于Representational State Transfer(表述性状态转移)原则,强调简洁、直接的交互方式。RESTful服务通常使用HTTP协议中的GET、POST...

    restful web service cookbook

    restful web service cookbook

    struts2 restful Demo

    因為剛入職 公司要求會使用struts2 restful風格,剛開始都沒聽說過restful,然後在網上找了N久的講解或demo,都沒找到,花了一週 在老大的指導下搞出來了,希望可以幫助到想學restful風格的同學們

    使用Ajax和Web Service重构网上书店(Ajax Web Service)指导学习

    在互联网技术日新月异的今天,Ajax(Asynchronous JavaScript and XML)与Web Service的结合在构建高效、交互性强的网上应用中起着至关重要的作用。本指导学习将深入探讨如何利用这两种技术来重构网上书店,提升用户...

Global site tag (gtag.js) - Google Analytics