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>
浙公网安备 33010602011771号