<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    LittleCloud's Java World

    Live and learn.
    posts - 18, comments - 29, trackbacks - 0, articles - 1
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    My History of Struts 2

    Posted on 2008-06-26 10:40 walkingpig 閱讀(448) 評論(0)  編輯  收藏 所屬分類: struts


    Listen:/Files/ash011/struts2.rar

    Since arriving on the scene in 2000, Apache Struts has enjoyed a very successful run, by most any standard, helping to build many, if not most, of the Java-based web applications deployed today. Its history tells of how Struts provided a solid framework to organize the mess of JSP and Servlets to make developing applications, which used mostly server-generated HTML with a touch Javascript for client-side validation, easier to develop and maintain. As time moved forward, and customer demands of web applications grew and grew, Struts 1 pretty much stayed the same, leaving more and more plumbing to the web developer.

    At JavaOne 2005, several of the Struts developers (Martin Cooper, Don Brown) sat down with Rich Feit (Apache Beehive) and a few Struts users to discuss the future of Struts. We came up with the Struts Ti proposal, which described a framework that brought together a lot of good things that were developing in the web framework community. The problem is that the Struts 1 code base didn’t lend itself to drastic improvements, and its feature set was rather limited, particularly lacking in features such as Ajax, rapid development, and extensibility.

    At the same JavaOne, I sat down with Jason Carreira of the OpenSymphony WebWork 2 project to discuss how we could better work together. I was interested in building on XWork, the core of their command pattern implementation, but he suggested building on WebWork 2 directly. As Rich and I worked on the first few versions of Struts Ti, we decided to take Jason’s advice. We thought it was time for a framework to address higher level application needs, and by building on the proven WebWork 2 framework, we could spend our precious spare time where we felt it would make a difference. From then on, Rich and I worked mostly with Patrick Lightbody, also a core WebWork 2 developer, and found ourselves constantly “stealing” each others ideas for our respective code bases.

    Around this time, Patrick and Keith Donald of the Spring WebFlow project were kicking around an idea of a web framework to bind them all, Clarity. Clarity brought together Spring WebFlow (Keith), Struts (Ted Husted and myself), WebWork (Patrick and Jason), and Beehive (Rich) to talk about the possibility of combining efforts into one framework. Unfortunately, the devil is in the details as soon as Beehive and WebFlow were unable to make progress on merging their wizard/conversion scope features, and questions about project ownership, brand, and identity soon broke up the party.

    Not wanting to lose momentum, Ted and I started discussions with Patrick and Jason on how we could better work together, and after Patrick casually suggested the idea of a merger, Ted jumped on it and the Struts/WebWork merger was born. Since Struts Ti was already based on WebWork, it wasn’t that far a leap to bring the WebWork code into the Struts project. We started the Apache Incubator process for WebWork 2 in January and graduated the WebWork 2 code, developers, and community to Apache Struts that May.

    At that time, Struts was struggling with the project’s core identity, whether it was an umbrella for multiple web frameworks or not. We had Apache Shale, a web framework based off JSF, as a Struts subproject, along side Struts Action 1 (now called Struts 1) and Struts Action 2 (the graduated WebWork 2 code). Unfortunately, these subprojects were confusion to the developer and user community, accustomed to the name “Struts” referring to a single framework. After an attempt to unify the Struts Action 2 and Shale subprojects into a single Struts 2 framework, the Shale developers felt it would be better if they were their own top level project (TLP) where they are today. Struts Action 2 was soon after renamed to simply Struts 2.

    Today, the Apache Struts project has two major versions of its framework, but it is one action-based framework project. WebWork continues to deliver patch releases, and will certainly continue to do so until Struts 2 goes GA or final, but all new development takes place on the Struts 2 code. For those looking for drama or a controversy in the Struts/WebWork merger story, you’ll have to look elsewhere. Both groups of developers are working happily towards a Struts 2.0 GA release, trying to combine the stability and accessibility of Struts 1 with the elegant architecture of WebWork 2. Since the initial incubation, the Struts 2 code has added major features including a plugin framework, a new API, and better Ajax tags, and as promised in the Struts Ti proposal, we won’t stop there.

    I decided to write this down to help clear up where this Struts 2.0 project came from and why it includes WebWork 2 code. Mergers are tricky things and it seems even in the Open Source community, one that champions collaboration, a merger between two projects is a rarity and needs to be defended. Amusing, because you’d be hard pressed to find a Java web developer that felt there are too few web frameworks. I think the WebWork and Struts communities pulled off something special in Struts 2, and hope the merger fever catches on in the Open Source world.

    主站蜘蛛池模板: 亚洲AV乱码一区二区三区林ゆな| 3344永久在线观看视频免费首页| 啦啦啦中文在线观看电视剧免费版 | 亚洲 小说区 图片区 都市| 亚洲国产成人无码av在线播放| 久久午夜夜伦鲁鲁片免费无码| 国产v亚洲v天堂无码网站| 一级毛片免费在线观看网站| 亚洲区日韩区无码区| 国产亚洲女在线线精品| 又粗又硬又大又爽免费视频播放| 高潮毛片无遮挡高清免费| 免费又黄又爽又猛的毛片| 一个人看的www视频免费在线观看| 亚洲精品99久久久久中文字幕| 日韩免费高清一级毛片| 自拍偷自拍亚洲精品第1页| 99精品免费视品| 亚洲人成在线观看| 久久国产精品免费专区| 亚洲一区二区三区精品视频| 成年女人男人免费视频播放| 久久亚洲AV成人无码国产电影| 亚洲成人影院在线观看| 成在人线av无码免费高潮喷水| 97亚洲熟妇自偷自拍另类图片| 无码国产精品一区二区免费 | 美女无遮挡免费视频网站| 亚洲精品动漫人成3d在线| a级毛片免费高清毛片视频| 亚洲综合视频在线| 啦啦啦www免费视频| 一级做a爰片性色毛片免费网站| 亚洲熟女一区二区三区| h视频在线免费看| 亚洲AV日韩AV无码污污网站| 亚洲美日韩Av中文字幕无码久久久妻妇| 中文字幕永久免费| 亚洲国产日韩精品| 久久亚洲精品无码播放| 久久免费看黄a级毛片|