JSP架構、JSP開發工具優缺點比較

十月 7, 2010 by · Leave a Comment
Filed under: CCIP 

隨著技術的日新月異 ,JSP的新技術也層出不窮,為了方面大家的學習與工作,下面將簡單的介紹壹下JSP架構、JSP開發工具、Web服務器及其鋮缺點。

    JSP架構:

    struts:  Struts跟Tomcat、Turbine等諸多Apache項目壹樣,是開源軟件,這是它的壹大優點,使開發者能更深入的了解其內部實現機制。

    除此之外,Struts的優點主要集中體現在兩個方面:Taglib和頁面導航。Taglib是Struts的標記庫,比較靈活,能大大提高開發效率。另外,就目前國內的JSP開發者而言,除了使用JSP自帶的常用標記外,很少開發自己的標記,或許Struts是壹個很好的起點。struts歷經6年多的發展,是目前用戶數最多、開發團隊和社區最火熱的框架,適用於中小型項目的快速開發。

    tapestry: Tapestry是壹個開源的基於servlet的應用程序框架,它使用組件對象模型來創建動態的,交互的web應用。壹個組件就是任意壹個帶有jwcid屬性的html標記。其中jwc的意思是Java Web Component.Tapestry使得java代碼與html完全分離,利用這個框架開發大型應用變得輕而易舉。並且開發的應用很容易維護和升級。Tapestry支持本地化,其錯誤報告也很詳細。Tapestry主要利用javabean和xml技術進行開發,是壹個組件式的、事件驅動的框架,理念很先進,想實現類似於桌面程序開發的那種便捷模式。但是它的學習曲線比較陡峭,要花不少時間才能掌握它。它適合大型項目開發,隨著組件的積累,開發越到後期可復用的組件越多,開發速度越快。

    spring mvc: Spring 的 Web MVC 框架是圍繞 DispatcherServlet 設計的,它把請求分派給處理程序,同時帶有可配置的處理程序映射、視圖解析、本地語言、主題解析以及上載文件支持。默認的處理程序是非常簡單的 Controller 接口,只有壹個方法 ModelAndView handleRequest(request, response)。Spring 提供了壹個控制器層次結構,可以派生子類。如果應用程序需要處理用戶輸入表單,那麽可以繼承 AbstractFormController.如果需要把多頁輸入處理到壹個表單,那麽可以繼承 AbstractWizardFormController.spring提供的東東,使用了spring的IoC,並且也非常強大,但是感覺它比較接近低層,要關註的東西很多。

    JSF: JSF負責對客戶端設備產生影響,它提供了將表示層、應用層和業務邏輯層整合在壹起的工具,但是,JSF的範圍被限制在表示層。

    以下是JSF Framwork提供最重要的服務。

    ◆MVC架構

    軟件用戶總是要操作各種數據,例如,壹個潛在用戶提交的註冊信息,這些數據叫做model.軟件開發人員必須將這些數據展現給用戶,這就是視圖views.在Web應用程序中,HTML文件用於描繪這些數據。

    JSF將model和view結合在壹起。可以用下面的方式將model屬性和view組件綁定:

    “#(user.username) “/>

    並且,JSF還充當控制器Controller的角色,它可以響應用戶的事件(例如,提交數據或者修改了某壹個值),將這些事件的數據交由處理model的類以更新model.例如,可以調用壹個方法來判斷某個用戶是否被允許登陸:

    ◆數據類型轉換

    用戶在HTML表單輸入的都是文本,而我們需要的可能是數字、日期等類型,JSF提供了非常簡單的方法用於指定或者自定義數據轉換規則。

    ◆驗證和錯誤處理… Continue reading

Sun Java Studio Enterprise 8 正式版

十月 6, 2010 by · Leave a Comment
Filed under: 未分類 

SUN Java Studio Enterprise 8 正式版詳情如下:

Sun Java Studio Enterprise 8 正式版安裝軟件包(Windows Platform – 134 MB)
·Sun Java Studio Enterprise 8 正式版安裝軟件包(Linux Platform – 151 MB) 
·Sun Java Studio Enterprise 8 正式版安裝軟件包(Solaris Sparc Platform – 177 MB) 
·Sun Java Studio Enterprise 8 正式版安裝軟件包(Solaris x86 Platform – 164 MB) 

產品介紹:

Sun Java Studio Enterprise 8 是是壹個強健可靠的企業開發平臺,它跨越了整個開發生命周期:即構建、調試、測試、部署 Java 2 Platform Enterprise Edition (J2EE) 應用程序(包括門戶組件和 Web 服務)並對其進行性能分析。Java Studio Enterprise 8… Continue reading

LINUX疑難解答—LINUX下解決time_wait連接過多

十月 5, 2010 by · Leave a Comment
Filed under: 未分類 

經常檢查apache的連接數,會發現很多無用的time_wait連接。有人說這是正常的,是因為壹個請求中途中斷造成的;還有人說微軟的IE連接時產生的Time_wait會比用Firefox連接時多。個人認為有壹定的Time_wait是正常的,如果超過了連接數的比例就不是很正常,所以還是找來方法解決壹下。

  先檢查壹下time wait的值:

  [root@aaa1 ~]#sysctl -a | grep time | grep wait

  net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait = 120

  net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait = 60

  net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait = 120

  這裏解決問題的關鍵是如何能夠重復利用time_wait的值,檢查net.ipv4.tcp_tw當前值:

  [root@aaa1 ~]# sysctl -a|grep net.ipv4.tcp_tw

  net.ipv4.tcp_tw_reuse = 0

  net.ipv4.tcp_tw_recycle = 0

  增加或修改net.ipv4.tcp_tw值,將當前的值更改為1分鐘(reuse是表示是否允許重新應用處於TIME-WAIT狀態的socket用於新的TCP連接; recycle是加速TIME-WAIT sockets回收):

  [root@aaa1 ~]# vi /etc/sysctl.conf

  net.ipv4.tcp_tw_reuse = 1

  net.ipv4.tcp_tw_recycle = 1

  使內核參數生效:

  [root@aaa1 ~]# sysctl -p

  用netstat再觀察時會發現已經恢復正常。

  結合DDOS和TIME_WAIT過多,建議增加如下參數設置:… Continue reading

« 前一頁