Time of Update: 2018-12-03
Application是一個共用的對象,當程式開始運行它就建立了。一直持續到程式關閉,它的變數是共用的,所有操作程式的人都可以使用,那麼這就有麻煩了,如果2個人同時修改變數的命令它該聽誰的?所以這裡就用到了,悲觀鎖定,每一次操作變數的時候都用Lock來鎖定它,當操作完了用UNLock來解鎖。例如實現簡單的訪問統計:Application["a"]=0//初始為0在首頁面的事件中:Application.Lock(); //鎖定 Application["a"] = (int)
Time of Update: 2018-12-03
page 是代表與一個頁面相關的對象和屬性。一個頁面由一個編譯好的 Java servlet 類(可以帶有任何的 include 指令,但是沒有 include 動作)表示。這既包括 servlet 又包括被編譯成 servlet 的 JSP 頁面 request代表與 Web 客戶機發出的一個請求相關的對象和屬性。一個請求可能跨越多個頁面,涉及多個 Web 組件(由於 forward 指令和 include 動作的關係) session
Time of Update: 2018-12-03
1.struts 優點:Struts是開源軟體,除此之外,Struts的優點主要集中體現在兩個方面:Taglib和頁面導航。Taglib是Struts的標記庫,靈活動用,能大大提高開發效率;關於頁面導航,使系統的脈絡更加清晰。通過一個設定檔,即可把握整個系統各部分之間的聯絡。 缺點: 1.Struts 的Action必需是thread-safe方式,它僅僅允許一個執行個體去處理所有的請求。所以action用到的所有的資源都必需統一同步,這個就引起了安全執行緒的問題。2.測試不方便.
Time of Update: 2018-12-03
EJB包括Session Bean、Entity Bean、Message Driven Bean,基於JNDI、RMI、JTA等技術實現。EJB最大的問題還不是效率,而是巨大的複雜度。EJB提供了業務層及持久層的一攬子解決方案,能夠為J2EE application提供強大的分布式能力。在entity bean,這種能力主要體現為分散式交易管理和負載平衡。這是EJB最大的優點,也是它最大的弱點:對於沒有分布式需求的application,EJB增加了極大的、而且是毫無價值的複雜度。
Time of Update: 2018-12-03
優點:Struts是開源軟體,使開發人員能更深入的瞭解其內部實現機制。 輕量,需要關注的Struts類只有幾個;模型中立,不傾向於哪個特定的持久層;高度相容;可擴充性強,所有的預設的設定都可以配置,核心Struts可以重寫,子類化,開發人員可以定製關鍵類,如ActionForm和Action;利用Struts提供的taglib可以大大節約開發時間。除此之外,Struts的優點主要集中體現在兩個方面:Taglib和頁面導航。Taglib是Struts的標記庫,靈活動用,能大大提高開發效率。
Time of Update: 2018-12-03
remote介面定義了業務方法,用於EJB用戶端調用業務方法。home介面是EJB工廠用於建立和移除尋找EJB執行個體。遠程介面和Home介面不需要直接實現,他們的實現代碼是由伺服器產生的,程式運行中對應實作類別會作為對應介面類型的執行個體被使用。ejb的XXXRemote,遠程介面,顧名思義是用戶端調用的,並且,你在bean實作類別裡面定義的所有方法,只有在xxxremote方法裡面簽名,用戶端才能調用。xxxhome,為本地home介面運行在伺服器上。XXXLocal,XXXLocalHo
Time of Update: 2018-12-03
Struts的五類標籤庫 Bean Tags :用來建立bean、訪問bean HTML Tags :用來建立 html 頁面的動態元素,對html進行了封裝; Logic Tags:邏輯判斷、集合迭代和流程式控制制。 Nested Tags:該標籤庫建立在前三個標籤庫的基礎上,具有前三個標籤庫的所有功能,只是允許標籤間的嵌套。 Tiles Tags :該標籤庫包含的標籤可以用來建立tiles樣式的頁面。重點學習前3類標籤庫
Time of Update: 2018-12-03
<SCRIPT> <!-- window.open ('page.html','newwindow','height=100,width=400,top=0,left=0,toolbar=no,menubar=no,scrollbars=no, resizable=no,location=no, status=no') //寫成一行 --> </SCRIPT>
Time of Update: 2018-12-03
setAttribute(String name,Object):設定名字為name的request的參數值getAttribute(String
Time of Update: 2018-12-03
CGI(common gate intergace),通用閘道介面,它是一段程式,運行在伺服器上,提供同用戶端HTML頁面的介面, CGI就像是一座橋,把網頁和WEB伺服器中的執行程式串連起來,它把HTML接收的指令傳遞給伺服器,再把伺服器執行的結果返還給HTML頁;因此CGI程式不僅使你能產生靜態內容而且能生動態內容。2. CGI能實現什麼功能? CGI可以提供很多HTML不能實現的功能,如:計數器,客戶資訊表格的提交以及統計;搜尋程式;WEB資料庫等。 3。CGI處理步驟:
Time of Update: 2018-12-03
web容器:給處於其中的應用程式組件(JSP,SERVLET)提供一個環境,使JSP,SERVLET直接更容器中的環境變數介面互動,不必關注其它系統問題。主要有WEB伺服器來實現。例如:TOMCAT,WEBLOGIC,WEBSPHERE等。EJB容器:提供給運行在其中的組件EJB各種管理功能。只要滿足J2EE規範的EJB放入該容器,馬上就會被容器進行高效率的管理。並且可以通過現成的介面來獲得系統層級的服務。例如郵件服務、交易管理。JNDI:(Java Naming &
Time of Update: 2018-12-03
(1)設定JNDI服務工廠以及JNDI服務地址系統屬性,尋找Home介面;(2)從Home介面調用Create方法建立Remote介面;(3)通過Remote介面調用其業務方法。home介面其實就是一個工廠,用來產生EJBObject;localhome介面也是一個工廠,同樣用來產生EJBObject 。這兩者的區別主要是在遠程調用的時候應該使用home對象,而在本地直接調用的時候則應該使用localhome介面,這種考慮在EJB2.x中增加的,用來解決效率問題。不論是sessionbean,
Time of Update: 2018-12-03
?Servlet是一種獨立於平台和協議的伺服器端的Java應用程式,可以產生動態Web頁面。 ?Servlet是位於Web
Time of Update: 2018-12-03
實體 bean: 提供健壯的資料持久性。bean 容器處理大部分的資料完整性、資源管理和並發性功能,從而使開發人員關注商務邏輯和資料處理,而不是這些低級細節。使用 bean 管理的持久性(Bean Managed Persistence,BMP)實體 bean 時,開發人員編寫持久性代碼而容器確定何時執行該代碼。使用容器管理的持久性(Container Managed Persistence,CMP)實體 bean 時,容器產生持久性代碼並管理持久性邏輯。 JDO:
Time of Update: 2018-12-03
1、在處理複雜的商業邏輯時,要求並發、安全、交易處理等功能,若是用JavaBean實現,編程人員必須自己寫這些功能代碼,而對於EJB來說,EJB容器實現這些功能。2、EJB實現了分布式網路計算,EJB可以不在同一台Sever上,而JavaBean不行。3、對於EJB來說,Client的瀏覽器可以是任意的,JavaBean不行。4、EJB非常組件化。目前有很多公司開發EJB組件。EJB使用方便。5、EJB的作用機制使得它很容易和其他J2EE組件互動,例如:和javaMail互動。無狀態會話bea
Time of Update: 2018-12-03
一個Servlet由容器產生時,首先會調用init()方法進行初始化,初始化過程如下: 1. 對 Struts 架構內部的訊息資源套件進行初始化。這些訊息資源套件是用來向記錄檔傳輸資訊性,警示和錯誤訊息的 . 而 org.apache.struts.action.ActionResources 資源套件 ( 即 /org/acache/struts/action/ActionResources.properties 檔案 ) 則用來取得這些內部訊息。2.從 web.xml 檔案載入控制
Time of Update: 2018-12-03
Servlet是在多線程環境下的。即可能有多個請求發給一個servelt執行個體,每個請求是一個線程。 struts下的action也類似,同樣在多線程環境下。我們的controller servlet指揮建立你的Action 類的一個執行個體,用此執行個體來服務所有的請求。 1.什麼是安全執行緒的代碼 在多線程環境下能正確執行的代碼就是安全執行緒的。安全的意思是能正確執行,否則後果是程式執行錯誤,可能出現各種異常情況。 2.如何編寫安全執行緒的代碼 我這裡強調的是什麼代碼是始終為安全執行緒的、
Time of Update: 2018-12-03
pool的配置: 假設已佈建服務:expserv 且資料庫伺服器機器名為:expserv 資料庫sid:expservSID,使用者名稱和密碼都為:expserv 以weblogic7.0為例,首先啟動服務 http://localhost:port/console 開啟service/jdbc/connection pools 配置oraclePool如下: Configuration: Name:
Time of Update: 2018-12-03
Action 類: • Struts1要求Action類繼承一個抽象基類。Struts1的一個普遍問題是使用抽象類別編程而不是介面。 • Struts 2 Action類可以實現一個Action介面,也可實現其他介面,使可選和定製的服務成為可能。Struts2提供一個ActionSupport基類去實現常用的介面。Action介面不是必須的,任何有execute標識的POJO對象都可以用作Struts2的Action對象。 線程模式: • Struts1
Time of Update: 2018-12-03
類是具備某些共同特徵的實體的集合,它是一種抽象的概念,用程式設計的語言來說,類是一種抽象的資料類型,它是對所具有相同特徵實體的抽象。類定義了類的元素(屬性和方法),實際上,類也可理解為帶方法的類型。1.抽象:抽象就是忽略一個主題中與當前目標無關的那些方面,以便更充分地注意與當前目標有關的方面。抽象包括兩個方面,一是過程抽象,二是資料抽象。2.繼承:繼承是一種類的層次模型,允許和鼓勵類的重用,它提供了一種明確表述共性的方法。客觀事物既有共性,也有特性。如果只考慮事物的共性,而不考慮事物的特性,就