標籤:cep base 中斷連線 資料庫 取數 hiberna 分析 monitor out
1、 為什麼需要JavaEE
我們編寫的JSP代碼中,由於大量的顯示代碼和商務邏輯混淆在一起,彼此嵌套,不利於程式的維護和擴充。當業務需求發生變化的時候,對於程式員和美工都是一個很重的負擔。
為了程式的易維護性和可擴充性,這就需要我們使用JavaEE技術來進行項目開發
2、 什麼是JavaEE
JavaEE是一個開發分布式企業級應用的規範和標準。
Java語言的平台有3個版本:適用於小型裝置和智慧卡的JavaME(Java Platform Micro Edition,Java微型版)、適用於案頭系統的JavaSE(Java Platform Micro Edition,Java標準版)、適用於公司專屬應用程式的JavaEE(Java Platform Enterprise Edition,Java企業版)。
3、 JavaEE包括的技術
JavaEE應用程式是由組件構成的。J2EE組件是具有獨立功能的單元,他們通過相關的類和檔案組裝成JavaEE應用程式,並與其他組件互動。
JavaEE包括的技術有:Web Service、Struts、Hibernate、Spring、JSP、Servlet、JSF、EJB、JavaBean、JDBC、JNDI、XML、JavaSE。
4、 什麼架構
架構即Framework,我們可以把架構理解為某種應用的半成品,就是一組組件,供使用者選用,完成使用者自己的系統。簡單地說就是使用別人準備好的組件,來實施自己的項目。
5、 JavaEE與架構的關係
架構技術是在JavaEE的基礎上形成的,而應用程式是在架構的基礎上建立的。
6、 JavaEE的體繫結構
應用程式的三層結構如下:
展示層:由使用者介面和使用者產生介面的程式碼群組成。
中介層:包含系統的業務和功能代碼。
資料層:負責完成存取資料庫的資料和對資料進行封裝。
三層體繫結構的優點:
一個組件的更改不會影響其他兩個組件。例如:如果使用者需要更換資料庫,那麼只有資料層組件需要修改代碼。同樣,如果更改了使用者介面設計,那麼只有展示層組件需要修改。
由於展示層和資料層相互獨立,因而可以方便地擴充展示層,使系統具有良好的可擴充性。
代碼重複減少,因為在3個組件之間儘可能地共用代碼。
良好的分工與協作。這將使不同的小組能夠獨立地開發應用程式的不同部分,並充分發揮各自的長處和優勢。
7、 JavaEE技術內容
JavaEE技術體繫結構可分為:展示層技術、中介層技術、資料層技術。JavaEE還涉及到系統整合的一些技術。
7.1、展示層技術
HTML
JavaScript
Ajax
Ajax是幾種技術的整合。Ajax的主要功能是非同步地向伺服器端發送請求,處理資料或者根據返回的資料重新顯示頁面。
7.2、中介層技術
JSP
顯示動態內容的伺服器網頁。
Servlet
接收用戶端請求,並做出響應的Java程式。
Servlet是中介層技術的重要組成部分,它控制著其他的組件。
JSTL
輔助JSP顯示動態內容的標準標籤庫。
JavaBean
JavaEE的模型組件。
中介層的架構技術
Struts架構:Struts主要是擴充了Servlet。
7.3、資料層技術
JDBC技術
JDBC(Java Database Connectivity):Java資料庫連接。
使用JDBC操作資料庫中的表和資料。
資料層架構技術
資料層架構,Hibernate提供了以對象的形式操作關係型資料庫資料的功能。
7.4、系統整合技術
在一些大型項目中,整個應用程式被分成若干個模組,由不同的Team Dev同步進行開發,有可能他們使用的技術也是各不相同的,在每個功能模組開發結束後,所要做的事情就是把這些零散的模組,整合成一個整體,這才是我們也是客戶所要的東西,這時我們就要用到有關係統整合的技術(Web Service)。
JAX-WS技術
JAX-WS(Java API for XML Web Service)是JavaEE平台的重要組成部分。
JAX-WS簡化了使用Java技術開發Web服務的工作。
JNDI
JNDI(Java Naming and Directory Interface,Java命名和目錄介面)是一組在Java應用中訪問命名和目錄服務的API,命名服務把對象和名稱聯絡在一起,並且可以通過名稱找到相應的對象。
8、 HTTP(HyperText Transfer Protocol,超文字傳輸通訊協定 (HTTP))協議
HTTP是一個無狀態協議,它基於用戶端/伺服器模型。HTTP用戶端(如瀏覽器)需要與伺服器建立一個串連,並將一則請求訊息通過串連發送到HTTP伺服器,以請求相應的資源。然後伺服器返回帶有請求資源的響應訊息。當響應結束後,就中斷連線,彼此並不儲存串連資訊。所以HTTP是無狀態協議。
HTTP使用連接埠發送和接收訊息。連接埠是協議發送和接收資料的通道或機制。80連接埠是為HTTP開發的,主要用於在WWW(World Wide Web,全球資訊網)服務上傳輸資訊。瀏覽網頁服務預設的連接埠號碼是80。
9、 使用MyEclipse提供的資料監控工具TCP/IP Monitor來進行資料監控。
TCP/IP Monitor(TCP/IP 監控器)的配置步驟:
Window(視窗)--->Preferences(喜好設定)--->Run Debug(運行/調式)--->TCP/IP Monitor(TCP/IP 監視器)
注意:如果沒有找到,則按以下路徑尋找:
Window(視窗)--->Preferences(喜好設定)--->MyEclipse ---> Internet Tools(網際網路工具)---> TCP/IP Monitor(TCP/IP 監視器)
然後選中Show the TCP/IP Monitor view there is activity(顯示TCP/IP監視器視圖,用來查看什麼時候有請求和響應)。
單擊“Add”按鈕,彈出New Monitor視窗。
Local monitoring Port:填寫8088。本機監控連接埠,也就是Monitor實際監聽的連接埠。
Host name:填寫localhost或127.0.0.1。欲監控的主機名稱,監聽對象的設定。
Port:填寫8080。欲監控的連接埠號碼,你想要監聽的連接埠號碼,你的請求發送到Local monitoring Port後會轉到這個連接埠。
Type:選擇HTTP。要監控的類型。
Timeout:0 。
單擊確定按鈕,然後單擊Start(啟動)按鈕啟動監視器。
然後啟動tomcat,在地址欄中輸入:http://localhost:8088/項目名(或上下文路徑)。在MyEclipse中會出現“TCP/IP Monitor”視窗,可以看到監聽的資料了。
可以單擊視窗右上方的ValidateWS-I Message Log File表徵圖(表徵圖上有個勾)添加記錄檔案。
下面對某一請求樣本進行分析:
用戶端發送的訊息為文字資料流,由以下內容組成:
請求行:包括方法、統一資源識別項(URL)和HTTP協議版本。
頭資訊:典型的請求訊息類似於以下內容。
GET /monitor/test.jsp?username=xinxin&userpassword=1234 HTTP/1.1
Host: localhost:8080
User-Agent: Mozilla/5.0(Windows;U;Window NT 5.1;zh-CN;)
Accept: text/xml,application/xml, text/html; text/plain;
第一行使用GET方法提交請求資料,並指定正在使用的是HTTP協議1.1版本。後續行包括頭資訊,User-Agent頭指示用戶端使用的瀏覽器類型是Mozilla,Accept頭資訊提供有關用戶端可以接受的MIME類型列表。在頭資訊之後,用戶端發送一個空白行,指示請求訊息結束。請求訊息由伺服器進一步處理,並且產生相應的響應訊息。
下面是響應樣本:
HTTP/1.1 200 OK
Server: JavaWebServer
Last-modified: Tuesday, 21-Aug-07 11:12:10 GMT
Content-length: 100
Content-type: text/html
第一行為狀態行。狀態行中的狀態代碼200指示已成功處理請求,因此描述為“OK”,404是找不到被請求的網頁時遇到的狀態代碼。其他行是頭資訊,Server頭指定伺服器上使用的軟體,Last-modified頭指示被請求檔案的最後修改日期,Content-length頭指定檔案的大小(以位元組表示),Content-type頭指定文檔的MIME類型。例如,text/plain指示未格式化的文字文件。text/html指示格式化的Web文檔。
10、 get和post發送方式
post:post方式會將表單的內容通過http發送,在地址欄中看不到表單的提交資訊,比較安全,而且使用post方式發送資訊沒有字元長度的限制。
get方式:表單內容經過編碼之後,通過URL發送,可以在地址欄中看到表單資訊,不安全。使用get方式發送資訊時有255個字元的限制。get請求的頁面可以設定為書籤或使用郵件發送,而post不可以。
JAVA EE 基本瞭解