新闻资讯
看你所看,想你所想

rose(WEB开发框架)

rose(WEB开发框架)

Rose (原名 Paoding-Rest) 是一个基于Servlet规範、Spring“规範”的WEB开发框架。

基本介绍

  • 中文名:rose
  • 原名:Paoding-Rest
  • 基于:WEB开发框架
  • 规範:Servlet规範、Spring规範

简介

Rose (原名 Paoding-Rest) 是一个基于Servlet规範、Spring“规範”的WEB开发框架。
Rose 框架通过在web.xml配置过滤器拦截并处理匹配的web请求,如果一个请求应该由在Rose框架下的类来处理, 该请求将在Rose调用中完成对客户端回响. 如果一个请求在Rose中没有找到合适的类来为他服务,Rose将把该请求移交给web容器的其他组件来处理。

特点

Rose使用过滤器而非 Servlet来接收web请求,这有它的合理性以及好处。
Servlet规範以“边走边看”的方式来处理请求, 当伺服器接收到一个web请求时,并没有要求在web.xml必须有相应的Servlet组件时才能处理,web请求被一系列Filter过滤时, Filter可以拿到相应的Request和Response对象 ,当Filter认为自己已经能够完成整个处理,它将不再调用chain.doNext()来使链中下个组件(Filter、Servlet、JSP)进行处理。
使用过滤器的好处是,Rose可以很好地和其他web框架兼容。这在改造遗留系统、对各种uri的支持具有天然优越性。正是使用过滤器,Rose不再要求请求地址具有特殊的后缀。
为了更好地理解,可以把Rose看成这样一种特殊的Servlet:它能够优先处理认定的事情,如无法处理再交给其它Filter、Servlet或JSP来处理。这个刚好是普通Servlet无法做到的 : 如果一个请求以后缀名配置给他处理时候 ,一旦该Servlet处理不了,Servlet规範没有提供机制使得可以由配置在web.xml的其他正常组件处理 (除404,500等错误处理组件之外)。
一个web.xml中可能具有不只一个的Filter,Filter的先后顺序对系统具有重要影响,特别的,Rose自己的过滤器的配置顺序更是需要讲究 。如果一个请求在被Rose处理前,还应该被其它一些过滤器过滤,请把这些过滤器的mapping配置在Rose过滤器之前。

配置

1) 大多数请况下,filter-mapping 应配置在所有Filter Mapping的最后。 2) 不能将 FORWARD、INCLUDE 的 dispatcher 去掉,否则forward、 include的请求Rose框架将拦截不到
Rose框架内部採用"匹配 ->执行"两阶段逻辑。Rose内部结构具有一个匹配树, 这个数据结构可以快速判断一个请求是否应该由Rose处理并进行, 没有找到匹配的请求交给过滤器的下一个组件处理。匹配成功的请求将进入”执行“阶段。 执行阶段需要经过6个步骤处理:“参数解析 -〉 验证器 -〉 拦截器 -〉 控制器 -〉 视图渲染 -〉渲染后"的处理链。

转载请注明出处海之美文 » rose(WEB开发框架)

相关推荐

    声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:ailianmeng11@163.com