当前位置:  软件>java软件

WEB开发框架 Paoding-Rose

    来源:    发布时间:2015-02-06

    本文导语:  Rose (原名 Paoding-Rest) 是一个基于Servlet规范、Spring“规范”的WEB开发框架。 Rose 框架通过在web.xml配置过滤器拦截并处理匹配的web请求,如果一个请求应该由在Rose框架下的类来处理, 该请求将在Rose调用中完成对客户端响应. 如果...

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过滤器之前。

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

       
                roseFilter
                net.paoding.rose.RoseFilter
       
       
                roseFilter
                /*
                REQUEST
                FORWARD
                INCLUDE
       

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

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


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Web前端开发如何利用css样式来控制Html中的h1/h2/h3标签不换行
  • web开发和嵌入式开发哪个更有挑战
  • 热点调查:请问你们公司用什么团队开发工具开发Web程序的?
  • 用Java开发web程序,用什么做web服务器最好?
  • 热点调查:请问你的公司用什么团队开发工具开发Web程序?
  • 我是学习web开发的,主要是java开发SSH开发框架和ajax等。我想知道有没有必要学习一下linux相关知识。
  • 使用JAVA开发WEB,软件,建设WEB服务器用哪个版本的REDHAT?在哪里下载?
  • Eclipse Web开发平台 WTP
  • PHP的Web服务开发包 InstantSVC
  • 基于Web的数据库开发工具 nuBuilder
  • Web动画开发工具包 AJAX Animator
  • Web开发工具 Dart Editor
  • Web开发环境 Aptana Studio
  • 智能手机Web开发框架 Unify
  • Web2.0应用开发平台 Wakanda
  • Web应用开发框架 FastFrame
  • Web开发框架 jsHawk
  • 用web开发桌面app的引擎 Tencent Webtop
  • PHP的Web开发框架 epesi framework
  • Web开发框架 Helma
  • Java Web开发框架 SmartWeb
  • web网页自动跳转方法:Html body onload自动跳转举例
  • aria2的Web接口 a2web
  • Python3通过request.urlopen实现Web网页图片下载
  • SVN的Web管理界面 svn-web-admin
  • Web前端设计:Html强制不换行<nobr>标签用法代码示例
  • 嵌入式的Scala Web服务器 SOCKO WEB
  • Web前端设计:html上标<sup>标签与下标<sub>标签详解
  • Web相册 Dumi Web Gallery
  • 请问:authorization of web services和authenication of web services什么区别?
  • Web服务器 Gatling Web Server


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3