JavaEE理解
? ? 工具類:?JUnit4使用??MyEclipse快捷鍵?tomcat項目部署方式??? ? ? ? ? ?
? ? 相關知識點:JavaSe教程??Java5新特性??Java6新特性??Java7新特性??Java8新特性?? ?
——————————————————————————————————————————————————————————————
? ? ?重新理解JAVAEE:??
? ? ? JavaEE是一個開發分布式企業級應用的規范和標準。Java語言的平臺有3個版本:適用于小型設備和智能卡的JavaME(Java?Platform Micro Edition,Java微型版)、適用于桌面系統的JavaSE(Java Standard Edtion,Java標準版)、適用于企業應用的JavaEE(Java Platform Enterprise Edition,Java企業版)。
?? ?先來比較javase(JDK的圖,包括javase的api)和javaee的組建圖,首先知道JAVASE/JAVAME/JAVAEE都是使用JAVA語言編寫的代碼,只是針對點不同。
? ? JAVAEE是由JAVA編寫的特殊類(Servlet/JSP/EJB)+Java代碼+java api+組成的一個規范的企業級應用平臺,JAVAEE通常結合一些WEB技術來做應用。我們知道tomcat僅僅支持JSP和servlet,也就是說tomcat只能識別這兩個“類”。而其他收費的服務器就可以識別所有java編寫的“類”,例如:EJB;其實也沒別的了吧?其中Servlet就是一個類,而JSP則是 類+類xml的tags +scriptlets?的混合。注意,服務器也是由代碼編寫的,簡單理解服務器是專門識別其他類和請求以及保存數據的特殊程序。
??
? ?
下面來介紹JAVAEE中用到的重要幾個技術規范(java 代碼),請看下面都是JAVA代碼編寫的“工具”:
? ??一個servlet就是Java編程語言中的一個類,它被用來擴展服務器的性能,服務器上駐留著可以通過“請求-響應”編程模型來訪問的應用程序。雖然servlet可以對任何類型的請求產生響應,但通常只用來擴展Web服務器的應用程序。Java Servlet技術為這些應用程序定義了一個特定于HTTP的 servlet類。
? ?JSP技術使用Java編程語言編寫類XML的tags和scriptlets,來封裝產生動態網頁的處理邏輯。網頁還能通過tags和scriptlets訪問存在于服務端的資源的應用邏輯。JSP將網頁邏輯與網頁設計的顯示分離,支持可重用的基于組件的設計,使基于Web的應用程序的開發變得迅速和容易。 JSP(JavaServer Pages)是一種動態頁面技術,它的主要目的是將表示邏輯從Servlet中分離出來。
? ? 在J2EE里,Enterprise Java Beans(EJB)稱為Java 企業Bean,是Java的核心代碼,分別是會話Bean(Session Bean),實體Bean(Entity Bean)和消息驅動Bean(MessageDriven Bean)。在EJB3.0推出以后,實體Bean被單獨分了出來,形成了新的規范JPA.EJB是sun的JavaEE服務器端組件模型,設計目標與核心應用是部署分布式應用程序。簡單來說就是把已經編寫好的程序(即:類)打包放在服務器上執行。憑借java跨平臺的優勢,用EJB技術部署的分布式系統可以不限于特定的平臺。
? ?JNDI(Java Naming and Directory Interface,Java命名和目錄接口)是SUN公司提供的一種標準的Java命名系統接口,JNDI提供統一的客戶端API,通過不同的訪問提供者接口JNDI服務供應接口(SPI)的實現,由管理者將JNDI API映射為特定的命名服務和目錄系統,使得Java應用程序可以和這些命名服務和目錄服務之間進行交互。在沒有JNDI之前:?開發的時候,在連接數據庫代碼中需要對JDBC驅動程序類進行應用,通過一個URL連接到數據庫。但是這樣存在問題,比如我要改一種數據庫,是不是要更換驅動,更換URL。每次都要進行這些配置和管理。在有了JNDI之后:可以在J2ee容器中配置JNDI參數,定義一個數據源,在程序中,通過數據源名稱引用數據源從而訪問后臺數據庫。在程序中定義一個上下文類,然后用content.lookup("java:數據源名稱")就可以成功引入數據源了。
<span style="font-family:KaiTi_GB2312;"><?xml version="1.0" encoding="UTF-8"?> <datasources> <local-tx-datasource> <jndi-name>SQLServerDS</jndi-name> <connection-url>jdbc:mysql://localhost:3323/zz</connection-url> <driver-class>com.mysql.jdbc.Driver</driver-class> <user-name>root</user-name> <password>rootpassword</password> <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name> <metadata> <type-mapping>mySQL</type-mapping> </metadata> </local-tx-datasource> </datasources></span>? ? ?RMI(Remote Method Invocation,遠程方法調用)是Java的一組擁護開發分布式應用程序的API。RMI使用Java語言接口定義了遠程對象,它集合了Java序列化和Java遠程方法協議(Java Remote Method Protocol)。
? ? ?JDBC(Java Data Base Connectivity,java數據庫連接)是一種用于執行SQL語句的Java API,可以為多種關系數據庫提供統一訪問,它由一組用Java語言編寫的類和接口組成。JDBC提供了一種基準,據此可以構建更高級的工具和接口,使數據庫開發人員能夠編寫數據庫應用程序。
? ? ??JMS即Java消息服務(Java Message Service)應用程序接口是一個Java平臺中關于面向消息中間件(MOM)的API,用于在兩個應用程序之間,或分布式系統中發送消息,進行異步通信。用一個很形象的例子,如果有人請我吃飯,她給我打電話占線,她決定先去占個位置,但是如果沒有短信技術,那么是不是我就不知道她給我的消息了呢?為了保證這樣的異步通信,我可以看到短信,準時去赴約。JMS就是提供了這樣一個面向消息的中間件。它們提供了基于存儲和轉發的應用程序之間的異步數據發送,即應用程序彼此不直接通信,而是與作為中介的MOM 通信。MOM提供了有保證的消息發送,應用程序開發人員無需了解遠程過程調用(PRC)和網絡/通信協議的細節。
? ? ?JAVAWEB就是利用 JSP+WEB前端技術(HTML/JS)+數據庫(ORACLE)+WEB服務器(認識和解析JSP/SERVLET/EJB類的應用程序)來搞開發,后來經過發展,就出來一種編程規范或者編程思想,就是將代碼分層,業務和邏輯分開,又將數據訪問部分也分開,就形成了所謂的三層架構(MVC),這樣開發就比較明朗化了,在到后來,為了進一步加快編程速度,就將共性的代碼封裝起來重復使用,最后就衍生出了各種層的框架;簡單理解,就是將各個層中的JSP代碼封裝。常見的封裝框架:Web Service、Struts、hibernate、spring、mybatis……。
轉載于:https://www.cnblogs.com/java-oracle/p/6266671.html
總結
- 上一篇: Redux你的Angular 2应用--
- 下一篇: Hibernate3 第一天