当前位置: 首页 > 软件库 > Web应用开发 > Web框架 >

Rose Framework

WEB开发框架
授权协议 Apache
开发语言 Java
所属分类 Web应用开发、 Web框架
软件类型 开源软件
地区 不详
投 递 者 公孙弘深
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Rose 是基于Servlet规范、Spring 规范 的开放源代码WEB开发框架。

Rose是面向使用Java开发的同仁们的。 Rose  提供的各种特性和约束惯例,目的就是为了使您在能够轻松地开发web程序。如果您觉得Grails的想法很好,您不必转向它,Rose可以给您这种感觉, 同时基于您对Java的熟悉,您又能更好地控制Rose。

我们希望Rose对各种技术的整合和规范,能使您摆脱犹豫,摆脱选择的困难,规 避没有经验带来的开发风险。Rose不仅整合技术,同时还强调最佳实践,甚至包括名称规范。我们不仅仅只是提供技术,我们还会引导您应该如何使用好技术。

Rose规范了对Spring的使用,虽然大部分时间之内,您可能只是使用 @Autowired  即可,大多数时候的确这样也就够了。但 Rose 也允许您放置applicationContext-xxx.xml文件来扩展Rose。

不 熟悉Spring的人,不用去重温Spring的知识也能够开始,并书写漂亮的程序!对熟悉Spring的人,则你们可以看到更多。

Rose 框架通过在web.xml配置过滤器拦截并处理匹配的web请求,如果一个请求应该由在Rose框架下的类来处理,  该请求将在Rose调用中完成对客户端响应.  如果一个请求在Rose中没有找到合适的类来为他服务,Rose将把该请求移交给web容器的其他组件来处理。

Rose使用过滤器而非 Servlet来接收web请求,这有它的合理性以及好处。

Servlet规范以"边走边看"的方式来处理请求,  当服务器接收到一个web请求时,并没有要求在web.xml必须有相应的Servlet组件时才能处理,web请求被一系列Filter过滤时,  Filter可以拿到相应的Request和Response对象  ,当Filter认为自己已经能够完成整个处理,它可以不调用整个处理链的下个组件处理.

使用过滤器的好处是,Rose可以很好地和其 他web框架兼容。这在改造遗留系统、对各种uri的支持具有天然优越性。正是使用过滤器, Rose不在要求请求地址具有特殊的后缀。

为 了更好地理解,可以把Rose过滤器看成能将某些请求其它Filter或Servlet传递的Servlet。这个刚好是普通Servlet无法做到的 :  如果一个请求以后缀名配置给他处理时候  ,一旦该Servlet处理不了,Servlet规范没有提供机制使得可以由配置在web.xml的其他正常组件处理  (除404,500等错误处理组件之外)。

一个web.xml中可能具有不只一个的Filter,Filter的先后顺序对系统具有重 要影响,特别的,Rose自己的过滤器的配置顺序更是需要讲究 。  如果一个请求在被Rose处理前应该被某些过滤器过滤,请把这些过滤器的mapping配置在Rose过滤器之前。

RoseFilter 的配置,建议按以下配置即可:

        <filter>
               
<filter-name>roseFilter</filter-name>
               
<filter-class>net.paoding.rose.RoseFilter</filter-class>
       
</filter>
       
<filter-mapping>
               
<filter-name>roseFilter</filter-name>
               
<url-pattern>/*</url-pattern>
               
<dispatcher>REQUEST</dispatcher>
               
<dispatcher>FORWARD</dispatcher>
               
<dispatcher>INCLUDE</dispatcher>
       
</filter-mapping>

1)  大多数请况下,filter-mapping 应配置在所有Filter Mapping的最后。 2) 不能将 FORWARD、INCLUDE 的  dispatcher 去掉,否则forward、 include的请求Rose框架将拦截不到

Rose框架内部采用"匹配 ->执行"两阶段逻辑。Rose内部结构具有一个匹配树, 这个数据结构可以快速判断一个请求是否应该由Rose处理并进行,  没有找到匹配的请求交给过滤器的下一个组件处理。匹配成功的请求将进入"执行"阶段。 执行阶段需要经过6个步骤处理:"参数解析 -〉 验证器 -〉  拦截器 -〉 控制器 -〉 视图渲染 -〉渲染后"的处理链。

匹配树:   匹配树是一个多叉树,最根节点代表整个Rose应用,第二级代表Rose应用下的所有模块,第三级是每个模块下的处理类  (控制器),第四级代表每个控制器下的操作的方法  。这个匹配树的每个节点都定义了自己的匹配地址、匹配目标以及"执行逻辑"。值得注意的是,对于每个匹配节点而言它的下级节点是有序的  ,这个顺序可以保证请求地址被正确地匹配给所期望的控制器方法处理。

匹配过程:   Rose以请求的地址作为处理输入(不包含Query串,即问号后的字符串)。如果这个匹配树存在某个树的路径和请求匹配成功,  表示这个请求应由Rose处理。在算法上,采用的是基于左儿子有兄弟的可回溯的匹配过程。

参数解析:  在调用验证器、拦截器  控制器之前,Rose完成2个解析:解析匹配树上动态的参数出实际值,解析控制器方法中参数实际的值。参数可能会解析失败(例如转化异常等等  ),此时该参数以默认值进行代替,同时Rose解析失败和异常记录起来放到专门的类中,继续下一个过程而不打断执行。

拦截器:   Rose使用自定义的拦截器接口而非一般的拦截器接口这是有理由的。使用Rose自定义的拦截器接口可以更容易地操作、控制Rose拦截。  所谓拦截即是对已经匹配的控制器调用进行拦截,在其调用之前、之后以及页面渲染之后执行某些逻辑。设计良好的拦截器可以被多个控制器使用。

  • 1, 关于下载资源 之前一直在rose compiler官网上下载,但是那份程序2013年之后就停止更新了,而且近几天突然官网上不去了。 在立博师兄的指点下,知道在github上下载,rose后续的项目更新都在gitHub上,我使用的是: git clone https://github.com/rose-compiler/edg4x-rose.git 据立博师兄说,rose项目bug很多,目前这

  • 一:文件准备 Daemon_Tools_Lite_10.4.0.193.exe、IBM.Rational.Rose.Enterprise.v7.0-TFTISO.iso,RationROSE破解文件.rar 二:安装步骤 1:安装Daemon_Tools_Lite 双击打开Daemon_Tools_Lite_10.4.0.193.exe 选择免费许可 默认配置 选择安装位置,等待安装完成 2:装载

  • 第 1 页 共 39 页 ROSE HA V8.9 + Win2008+SQL2008 双机配置详细指南(图文) 一、 安装 Windows2008 Rose HA 软件能与 Windows 环境无缝集成,在安装 Rose HA 之前,我们首先需要安装 Windows2008 操作系统,这里以 Windows2008 为例。操作系统的安装比较简单,下面只写简 略的安装步骤。 ( 1 ) 系统安装完

  • 1.rose 整体认识 人人网、糯米网释出的、开源的高效Java web开发框架。在小米米聊服务端再次被验证和使用。一个从零开始的创业公司,在大家技术背景不一的情况下,rose很简 单快速地传达到了大家中间。本手册致力于让php开发人员也能快速使用上java开发高性能服务 l 基于IoC容器 (使用Spring 2.5.6). l 收集最佳实践,形成规范和惯例,引导按规范惯例,简便开发. l 收集

 相关资料
  • "One does not live by bread alone,but by every word that comes from the mouth of God" --(MATTHEW4:4) python开发框架 不管是python,还是php,亦或别的做web项目的语言,乃至于做其它非web项目的开发,一般都要用到一个称之为什么什么框架的东西。 框架的基本概念 开发这对框架的认识,由于

  • 「盘古开发框架」是一套轻量稳健的工业级前、中、后台三维多端行业数字化赋能开发框架。基于商业友好的 Apache-2.0 协议免费开源发布。我们希望不仅是开源的受益者也能成为开源贡献者,与开源社区一起共建共享开源生态。 生态子项目 盘古开发框架由「盘古服务开发框架」、「盘古中后台业务系统开发脚手架」、「盘古移动端多平台开发脚手架」三个子项目组成。可以单独拆箱使用,也可以打包整合。 盘古服务开发框架(

  • nebula3 是一个游戏引擎和开发框架,可移植的特性支持多平台,包括 iPhone。 http://code.google.com/p/nebula3-engine/

  • 在尝试了使用 AWS 开发 Serverless 应用之后,我便想尝试使用 OpenWhisk 框架来搭建自己的 Serverless 服务。 Apache OpenWhisk(http://openwhisk.org/)是一个由IBM和Adobe驱动的开源项目,它是一个健壮的FaaS平台,可以部署在 云或数据中心内。相比其他serverless项目,OpenWhisk是一个健壮的、可扩展的平台,

  • 本项目是win32下大型客户端游戏的游戏辅助开发框架,由于它集成并包含了游戏辅助开发的各方面功能,称本项目为win32辅助开发的组件也可。 内含具体项目有fifa online3、疾风之刃、怪物猎人online、流放之路等,也有辅助帐号验证服务器,帐号查寻与管理工具,特征码识别,资源文件系统等。 本人现已转型,特发布此项目,旨在分享一份只供参考的多年工作经验与心血,若本项目中有些您认为闪亮的设计、

  • 本文向大家介绍thinkPHP5.0框架开发规范简介,包括了thinkPHP5.0框架开发规范简介的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了thinkPHP5.0框架开发规范。分享给大家供大家参考,具体如下: 命名规范 ThinkPHP5遵循PSR-2命名规范和PSR-4自动加载规范,并且注意如下规范: 目录和文件 目录不强制规范,驼峰及小写+下划线模式均支持; 类库、函数文件统一以

  • imi 框架基于Swoole的PHP协程开发框架,高性能,功能强大,运行稳定,开发方便,支持 Http、Http2、WebSocket、TCP、UDP、MQTT 等主流协议的服务开发,特别适合互联网微服务、即时通讯聊天im、物联网等场景!

  • 一个应用程序开发框架。作者实现了很多控件效果,方便其他开发者各取所需。所实现的效果包括:打分星星、响应点击动作、旋转按钮效果、根据文字多少改变大小的UILabel等等效果。 [Code4App.com]