浙江省高等学校教师教育理论培训

微信搜索“毛凌志岗前心得”小程序

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

paoding-rose - 人人网、糯米网释出的、开源的高效Java web开发框架,是我们对技术社区的强力贡献,请您欣赏。 - Google Project Hosting

Rose 是由 人人网糯米网 提供的、基于Servlet规范、Spring“规范”的开放源代码WEB开发框架。

新鲜事

2010.07 招聘:人人网招聘能够为网站架构优化提供帮助的架构师、能够熟练开发的Java工程师,有意请发邮件至 qieqie.wang#gmail.com

 

2010.07 新增2个重要wiki 第二支程序portal开发示例

正文

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

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

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

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

线上互联网应用 [每天接受着亿数量级PV的挑战]

【伟大的日子】 2009年08月xx日

人人网公共主页: http://page.renren.com

人人网光良主页: http://page.renren.com/600002233

【伟大的日子】 2009年11月26日

人人网Home页: http://www.renren.com

人人网个人页: http://www.renren.com/profile.do?id=237391798

【伟大的日子】 2010年06月23日

糯米网: http://www.nuomi.com

【100%】

你通过浏览器访问到的人人网、糯米网各业务以及子业务均使用rose作为web框架,全中国每天这么多用户不断地点击和挑战,rose值得您信任。

第一支程序,5分钟!

第一支程序

5分钟之后,一切就已经顺利。您可以开始围观一些别人写的代码以及第二支程序

控制器类代码

第二支程序

Rose原理概要

Rose 是一个基于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的配置,建议按以下配置即可:

        <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>
posted on 2012-09-13 10:42  lexus  阅读(147)  评论(0)    收藏  举报