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

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

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

    隨筆-75  評論-193  文章-5  trackbacks-0

            把環境配好之后,Seam的例子也運行起來了,看了seam_reference第一章中如下幾個例子講解:

    • the registration example
    • the messages example
    • the todo list example
    • the numberguess example

            又在滿江紅的網站上找了seam_reference2.0的中文文檔,主要看了《the contextual component model》一章,看完以后感覺Seam最核心的地方就是其contextual component model了,不過看完這一章以后只是對Seam有個大概的了解,對其具體的內容,細節還缺乏進一步的了解,對其優點、缺點也缺乏進一步的認識。

            然后又找到了《Seam in Action》的電子書,看了一點之后還是覺得這本電子書寫得好,內容組織的很好,不象seam_reference后面的章節僅僅是羅列seam的各項功能。

            今天把Seam in Action的第一章草草看了一遍,將第一章講述的內容總結如下:

    1、什么是Seam

            在Seam in Action中,沒有將Seam稱之為web framework,而是將其稱為application stack。Seam將Java EE中的EJB3、JSF、JPA/Hibernate、JAAS等技術融合在一起,提供了更容易使用的方式,比如conversation、page flows、buisness precesses、rule-based security、JavaScript(Ajax) remoting、PDF rendering、email組合、charting、file uploads、Groovy integration等,用以簡化web開發。

    2、Seam的目標

            簡化web開發

    3、Seam如何集成各類技術

        selected Seam集成了JSF、JPA和POJO Component

    selected1 在Seam中將EJB3.0中的Session Bean作為JSF的managed bean,直接將表現層和業務層銜接在一起,使得Session Bean可以直接訪問web相關數據,比如request、session、application、JSF的FacesMessage、Component Tree等。而在不使用Seam時,一般都是使用JSF back bean來作為表現層和業務層之間的中介。

    selected1 使用annotation中的@Name標注替代了JSF的faces-config.xml中關于managed bean的配置。

    selected1 Seam不一定必須使用EJB和JPA,也可以使用POJO、Hibernate作為替代。如下圖:

    seam 

        selected 上下文相關的組件模型(Seam中的核心概念)

    selected1 Seam提供了7種類型的上下文,其中屬于Seam特有的兩種上下文類型分別為:Conversation Context、Business process Context。

    selected1 Seam提供了統一的組件注冊、annotation、異常配置、方法攔截、統一的EL表達式等功能。其中Seam對其管理的組件攔截過程如下圖:

    seam1

    4、Seam的核心競爭力

        selected 更好的JSF

    selected1 增強的JSF

    • Seam對JSF最被認可的改進就是消除了在配置文件中聲明managed bean。
    • Prerender page actions
    • Managed request parameters (for a given page)
    • Intelligent stateless and stateful navigation
    • Transparent JSF data model and data model selection handling
    • Fine-grained exception handling
    • Page-level security (per view ID)
    • 基于Annotation的表單驗證
    • Bookmarkable command links (solving the “everything is a POST” problem)
    • Entity converter for pick lists
    • Conversation controls
    • Support for preventing lazy initialization exceptions and nontransactional data access in the view

    selected1 消除了連接Bean(ELIMINATING CONNECTOR BEANS)

          用一幅圖可以很好的說明這句話的含義

    seam2

    selected1 引入了有狀態的變量范圍(INTRODUCING STATEFUL VARIABLE SCOPES)

    seam3

    selected1 擴展的Persistence Context

          Spring中提供了The Session In View Filter,使得persistence manage可以在一個請求中存在,避免了常見的LazyInitializationException。在Seam中,擴展的Persistence Context可以跨越多個請求。其實擴展的Persistence Context是Conversation Context、Business Process Context的基礎。

        selected get rich quick

            Seam提供了兩種方式將Ajax集成到Seam應用中,一種是使用具有Ajax特性的JSF組件,如RichFaces和ICEFaces,另一種是可以在瀏覽器中使用JavaScript直接調用服務端的組件。

            Seam還提供了另外一種意義上的Rich,即將PDF、mail等功能集成到Seam應用中。

        selected 提供了一個快速開發環境

    selected1 代碼自動生成

    selected1 熱部署

    selected1 Seam調試頁面

    selected1 不部署即可以進行單元測試

            

    從目前我個人的理解來看,Seam的作用與能力如下:

    • Seam將EJB3與JSF整合在一起,消除了JSF與業務代碼之間的間隙,直接將表現層與業務層銜接在一起
    • Seam提出了Conversation Context的概念,將Stateful EJB引入到web開發中,直接與Conversation Context對應
    • Seam提供了與Jbpm、itext、mail等一系列開源框架的整合,對于需要使用的相關功能的用戶來說,提供了便利性
    • 提供了開發工具的整合(Seam Gen與IDE),還可以自動生成部分代碼

            但由于Seam整合了如此多的框架,帶來的一個最大的缺點:學習曲線陡峭,在SSH非常流行的今天,需要面對很多新技術(JSF、EJB3、JPA等),對于一個新手來說難度比較大,如果想使Seam被更多的開發人員使用,必須加強它的文檔,目前的文檔還是太少了。

    posted on 2008-12-06 23:51 The Matrix 閱讀(2286) 評論(0)  編輯  收藏 所屬分類: JBoss Seam/JSF
    主站蜘蛛池模板: 亚洲精品国产精品乱码不99| 亚洲色一色噜一噜噜噜| 亚洲Av无码专区国产乱码DVD| 国产亚洲人成在线影院| 深夜国产福利99亚洲视频| 亚洲国产成人AV网站| 免费在线观看视频a| jzzjzz免费观看大片免费| 久久精品国产精品亚洲人人 | 午夜爱爱免费视频| 亚洲日本VA中文字幕久久道具| 大学生高清一级毛片免费| 亚洲jizzjizz少妇| 亚洲&#228;v永久无码精品天堂久久 | 亚洲av无码专区在线观看素人| 鲁啊鲁在线视频免费播放| 国产福利电影一区二区三区,亚洲国模精品一区 | 野花香高清在线观看视频播放免费 | 亚洲色欲色欲www在线丝| 免费91最新地址永久入口 | 狼人大香伊蕉国产WWW亚洲| 亚洲裸男gv网站| 午夜免费福利小电影| 亚洲av无码一区二区三区观看| 日本免费电影一区| jyzzjyzz国产免费观看| 亚洲综合日韩中文字幕v在线| 毛片大全免费观看| 一道本不卡免费视频| 亚洲视频在线免费观看| 成人免费毛片视频| 99在线视频免费观看| 亚洲自偷自拍另类图片二区| 永久免费看mv网站入口| 拍拍拍无挡视频免费观看1000 | 青青青国产色视频在线观看国产亚洲欧洲国产综合 | 亚洲免费在线视频| 亚洲6080yy久久无码产自国产 | 亚洲国产成人精品久久| 亚洲国产成人精品女人久久久 | 国产美女精品久久久久久久免费|