當前位置:編程學習大全網 - 編程語言 - j2ee的13個標準時什麽?

j2ee的13個標準時什麽?

javaEE是壹個開發的平臺,它包括很多技術。主要有13中技術。在完成壹個實際的項目中,並不是這13中技術都要用到,只是有選擇的使用。也就是說,壹個程序員不是要把這13中技術全部掌握了才能從事javaEE開發。但是壹個javaEE程序員至少掌握java servlet,jsp。

javaEE技術規範包括:

1. java數據庫連接(JDBC)

JDBC API以壹個統壹的方式訪問數據庫。與ODBC類似,JDBC將開發者和私有數據庫之間的問題隔離開來。由於它建立在java上,因此JDBC可以提供平臺無關的數據庫訪問。

JDBC定義了4中不同的驅動,具體來說,它包括:

類型1:JDBC-ODBC橋接

在JDBC剛產生時,JDBC-ODBC橋接是非常有用的。通過它,開發者可以使用JDBC來訪問壹個ODBC數據源。缺點是,它需要在客戶機上安裝有壹個ODBC驅動,該客戶端通常運行在windows系統。使用這壹類的驅動器,妳就會失去JDBC平臺無關的好處。此外ODBC驅動器需要客戶端的管理。

類型2:JDBC-native橋接

JDBC-native橋是提供了壹個建立在本地數據庫驅動上的JDBC接口—沒有使用ODBC。JDBC驅動將標準的JDBC調用了轉變為對數據庫API的本地調用。使用類型2的驅動也會也會使失去JDBC的平臺性無關的好處,並且需要安裝客戶端的本地代碼。

類型3:JDBC-network橋

JDBC-network橋不需要客戶端的數據庫驅動。它使用網絡服務器的中層來訪問壹個數據庫。這會引出諸如負載均衡,連接池技術,數據緩沖也是可能的。由於類型3的驅動通常可能帶來相對小的下載時間,它是平臺無關的,並且不需要客戶端的安裝和管理,因此很適合做internet應用。

類型4:純java驅動

類型4使用純的java數據庫驅動來提供直接訪問數據庫操作。由於類型4驅動運行在客戶端,並且直接訪問數據庫。因此運行在這個模式暗示要使用壹個2層體系。要在壹個n層體系中使用類型4驅動,可以通過包含數據庫訪問代碼的ejb,並且讓該ejb為它的客戶端提供壹個數據庫無關的服務。

2. java命名和目錄接口(JNDI)

JNDI是java Naming and Directory Interface的簡寫,中文名為java命名及目錄接口,它是為了對高級網絡應用開發中的使用目錄基礎結構的訪問。實際上這個目錄是壹個特殊的數據庫,提供了對存儲數據的快速訪問,不像傳統目錄的服務訪問方式—妳必須提供不同的API接口去訪問不同的目錄服務,如:LDAP,NIS,ADS等。而它提供了壹種標準的API來訪問不同類型不同的目錄。據說,使用sdk可以開發那些JNDI還不支持的目錄服務提供者。

JNDI是java EE的壹個API,提供了壹套標準的接口,以定位用戶,機器,網絡,對象,以及服務。例如,妳可以使用JNDI來定位壹臺網絡中的打印機,妳也可以利用它來定位java對象和連接到壹個數據庫。JNDI可以使用EJB,RMI-IIOP,JDBC中。 它是網絡查找定位的標準方法。JNDIAPI被用來訪問目錄和命名服務。它提供壹個相容模式來訪問和操作企業範圍大的資源,例如壹個應用服務器的DNS,LDAP本地文件或者對象

在JNDI中,壹個目錄結構的每壹個節點被稱為context。每壹個JNDI的名字與壹個context相對,沒有壹個絕對名字的概念。壹個應用可以使用InitialContext來得到它的第壹個context

Context ctx=new InitialContext();

通過這個初始的context,應用就可以通過目錄樹來定位到需要的資源或者對象。例如,假定妳已經在WebLogic Server中配置了壹個EJB,並且在myApp.myEJB中綁定了home接口。EJB的客戶端,在得到這樣壹個初始的context後,然後就可以使用下面的代碼來定位到home接口。

MyEJBHome home=ctx.lookup(“myApp.myEJB”);

壹旦得到了妳所需要的對象的壹個方法或者引用—在這個例子中,就是EJB的home接口—然後妳就可以調用它上面的方法。為了在壹個context中查找壹個對象,JNDI還提供方法可以做到,插入或者綁定壹個對象到壹個context中,在配置壹個EJB時,這是非常有效的方法:

從壹個context中移除壹個對象

列出壹個context中所有對象

創建和刪除subcontexts

3.企業java Beans

Java EE其中有壹個引人註目的技術是EJB。它提供了壹個架構來開發和配置到客戶端的分布式商業邏輯,因此可以明顯的減少開發的擴展性,高度復雜企業應用的難度。EJB規範定義了EJB組件應該如何和何時與他們的容器交互。由容器負責提供普通的服務,例如:目錄服務,事務管理,安全,資源池和容錯。

EJB規範定義了3中基本的javaBean:

會話beans(session beans):會話beans為業務流程建模,由於它們通常表示執行某個動作,因此可以把它們當做動詞。這個執行的動作可以是任何事情,例如:增加數量,訪問數據庫,調用其他系統,調用其他企業bean。我們可以舉出很多例子,包括壹個討價引擎,壹個工作流引擎,壹個目錄引擎,壹個信用卡認證中心或者壹個網上證券交易引擎。

實體beans(Entity beans):這是持久保存數據的代表—典型的是存儲在數據庫中—因此在服務器崩潰後數據依然存在。多個客戶端可以使用EJB來表示同樣的數據。實體beans為企業數據建模,由於它們表示數據對象(就是緩沖數據庫的java對象),因此可以把它們當做名詞。實體bean的例子包括壹種產品,壹項訂單,壹個雇員,壹張信用卡,或者壹支股票。會話beans典型的方式通過實現業務目標的,例如壹個證券交易引擎(會話beans)處理股票(實體beans)

消息驅動beans(Message-Driven beans):Message-Driven beans也表示動作,這壹點類似session beans它們之間的不同點是妳只能通過發送消息給Message-Driven beans的方式來調用它們。Message-driven beans的例子包括了接受股票交易消息的beans,使用認證信息,或是工作流消息。這些message-driven beans也可以調用其他的企業beans。

接著我們討論無狀態和有狀態

無狀態的beans(stateless beans)這是壹個單壹使用的服務,不維護任何狀態,在服務器崩潰也不再存在,而且生存周期也相對短。例如,壹個無狀態的session bean可能用作執行溫度轉換。

有狀態的bean:它提供了壹個壹個傳統的與客戶端交互的方法,存儲客戶端的狀態。在線購物車就是這樣壹個有狀態session bean的典型例子。有狀態session beans在服務器崩潰時也不在存在,而且生存期也相對短,並且每個實例只可以用在壹個單線程中。

4.javaServer pages(jsp)

或許妳應經對微軟的Active Server pages(asp)非常熟悉,jsp也是類似技術,不過他是平臺無關的。它們都是設計來幫助web內容開發者使用相對較少的代碼就可以創建動態的網頁。Web設計著即使不懂編程,也可以使用jsp來創建動態的網頁。javaServer pages是html代碼和java代碼的混合。在客戶請求頁面的時候,服務器就會處理java代碼,然後返回html頁面給瀏覽器。

妳可能也聽說過JHTML,它是壹個舊的標準,現在已經被jsp取代了。Weblogic Server不但支持jsp,還支持JhtmL。不過在默認設置下,WebLogic Server不支持jsp。(對與5.1版本)。妳必須編輯WebLogic.properties來激活web 服務器,對於jspservlet來說,也是這樣。

5.java servlet

Servlets提供的功能大部分與jsp相同,它采用的是壹個有點不同的方法,jsp中大部分是html代碼,其中有少量的java代碼,而servlet相反,它完全使用java編寫,並產生html代碼。

Servlet是壹個運行在服務器的java小程序,可以擴展web服務器的功能。這些服務器端的應用可以在被請求時動態執行,它與傳統的web服務器上的cgi perl腳本差不多。CGI腳本和servlet的壹個主要的不同是:CGI腳本對於每次請求都啟動壹個全新的線程—需要額外的系統開銷—而servlet的執行只要在servlet引擎內啟動壹個獨立的線程就可以了。因此servlet的擴展性更好。

在開發servlet時,妳通常都要繼承javax.servlet.http.HttpServlet類,並且重寫壹些泥感性趣的方法:service()doGet() doPost()init()destroy()

6.java IDL/CORBA

通過java的IDL的支持,開發者可以將java與CORBA集成。它們可以創建能配置在壹個CORBA ORB中的java對象,也可以創建做完配置在其他的ORB內的CORBA對象的客戶端的java類。

對於通過java將妳的新應用和以前的系統集成,後者提供了壹個另外的方法。

7.java事務體系(JTA)和java事務服務(JTS)

JTA定義了壹個標準API,應用可以通過它來訪問事務監控器。

JTS是CORBA OTS事務監控的壹個基本實現。JTS指定了壹個事務管理的實現,這個管理器在壹個高級別上支持java事務API(JTA)規範,並且在低壹級別的上實現了OMG OTS規範的java映射。壹個JTS事務管理器為應用服務器,資源管理器,standalone應用和通信資源管理器提供事務服務。

8.javaMail和javaBeans激活框架(JAF)

Javamail是壹個用來訪問郵件服務器的API。Javamail API提供了壹套抽象類來模型化壹個郵件系統。支持SMTP和IMAP服務器。

Javamail通過使用javaBeans Activation Fremework(JAF)來處理MIME加密的郵件附件。MIME字節流和java對象間的互相轉換。大多數應用無需要直接使用JAF.

9.java信使服務(JMS)

Jms是壹個用來和面向信息的中層通信API。它不但支持點對點的域,也支持發布/訂閱域,並且通過對擔保信息傳送,事務信息傳送,持久信息和durable subscribe的支持。對於將妳的應用和以前的backend系統集成,jms提供了另外壹個方法。

10.擴展標記語言(extensible markup language ,xml)

Xml是壹個用來定義其他標記語言的語言。它可以被用作商業之間的數據***享。Xml的發展是與java分開的,不過它的目標與java類似,都是為了與平臺無關。通過將java與xml結合,妳可以得到壹個完全平臺無關的解決方案。多個公司都為在java和xml鍵開發壹個緊密的集成而工作。

11.struts+spring+hibernate主流框架

struts2負責MVC中的C,實現頁面的邏輯跳轉。spring提供了IOC+AOP,它可以為struts提供依賴註入,為業務邏輯層提供依賴註入和面向切面編程.hibernate,是壹個orm框架的實現,負責將數據持久化到數據庫。

  • 上一篇:甘孜藏族自治州防震減災條例
  • 下一篇:我想學點黑客方面的東西
  • copyright 2024編程學習大全網