一、 爲何須要JavaEEhtml
咱們編寫的JSP代碼中,因爲大量的顯示代碼和業務邏輯混淆在一塊兒,彼此嵌套,不利於程序的維護和擴展。當業務需求發生變化的時候,對於程序員和美工都是一個很重的負擔。程序員
爲了程序的易維護性和可擴展性,這就須要咱們使用JavaEE技術來進行項目開發數據庫
二、 什麼是JavaEE瀏覽器
JavaEE是一個開發分佈式企業級應用的規範和標準。tomcat
Java語言的平臺有3個版本:適用於小型設備和智能卡的JavaME(Java Platform Micro Edition,Java微型版)、適用於桌面系統的JavaSE(Java Platform Micro Edition,Java標準版)、適用於企業應用的JavaEE(Java Platform Enterprise Edition,Java企業版)。安全
三、 JavaEE包括的技術服務器
JavaEE應用程序是由組件構成的。J2EE組件是具備獨立功能的單元,他們經過相關的類和文件組裝成JavaEE應用程序,並與其餘組件交互。app
JavaEE包括的技術有:Web Service、Struts、Hibernate、Spring、JSP、Servlet、JSF、EJB、JavaBean、JDBC、JNDI、XML、JavaSE。框架
四、 什麼框架異步
框架即Framework,咱們能夠把框架理解爲某種應用的半成品,就是一組組件,供用戶選用,完成用戶本身的系統。簡單地說就是使用別人準備好的組件,來實施本身的項目。
五、 JavaEE與框架的關係
框架技術是在JavaEE的基礎上造成的,而應用程序是在框架的基礎上建立的。
六、 JavaEE的體系結構
應用程序的三層結構以下:
表示層:由用戶界面和用戶生成界面的代碼組成。
中間層:包含系統的業務和功能代碼。
數據層:負責完成存取數據庫的數據和對數據進行封裝。
三層體系結構的優勢:
一個組件的更改不會影響其餘兩個組件。例如:若是用戶須要更換數據庫,那麼只有數據層組件須要修改代碼。一樣,若是更改了用戶界面設計,那麼只有表示層組件須要修改。
因爲表示層和數據層相互獨立,於是能夠方便地擴充表示層,使系統具備良好的可擴展性。
代碼重複減小,由於在3個組件之間儘量地共享代碼。
良好的分工與協做。這將使不一樣的小組可以獨立地開發應用程序的不一樣部分,並充分發揮各自的長處和優點。
七、 JavaEE技術內容
JavaEE技術體系結構可分爲:表示層技術、中間層技術、數據層技術。JavaEE還涉及到系統集成的一些技術。
7.一、表示層技術
HTML
JavaScript
Ajax
Ajax是幾種技術的整合。Ajax的主要功能是異步地向服務器端發送請求,處理數據或者根據返回的數據從新顯示頁面。
7.二、中間層技術
JSP
顯示動態內容的服務器網頁。
Servlet
接收客戶端請求,並作出響應的Java程序。
Servlet是中間層技術的重要組成部分,它控制着其餘的組件。
JSTL
輔助JSP顯示動態內容的標準標籤庫。
JavaBean
JavaEE的模型組件。
中間層的框架技術
Struts框架:Struts主要是擴展了Servlet。
7.三、數據層技術
JDBC技術
JDBC(Java Database Connectivity):Java數據庫鏈接。
使用JDBC操做數據庫中的表和數據。
數據層框架技術
數據層框架,Hibernate提供了以對象的形式操做關係型數據庫數據的功能。
7.四、系統集成技術
在一些大型項目中,整個應用程序被分紅若干個模塊,由不一樣的開發團隊同步進行開發,有可能他們使用的技術也是各不相同的,在每一個功能模塊開發結束後,所要作的事情就是把這些零散的模塊,整合成一個總體,這纔是咱們也是客戶所要的東西,這時咱們就要用到有關係統集成的技術(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,命名服務把對象和名稱聯繫在一塊兒,而且能夠經過名稱找到相應的對象。
八、 HTTP(HyperText Transfer Protocol,超文本傳輸協議)協議
HTTP是一個無狀態協議,它基於客戶端/服務器模型。HTTP客戶端(如瀏覽器)須要與服務器創建一個鏈接,並將一則請求消息經過鏈接發送到HTTP服務器,以請求相應的資源。而後服務器返回帶有請求資源的響應消息。當響應結束後,就斷開鏈接,彼此並不保存鏈接信息。因此HTTP是無狀態協議。
HTTP使用端口發送和接收消息。端口是協議發送和接收數據的信道或機制。80端口是爲HTTP開發的,主要用於在WWW(World Wide Web,萬維網)服務上傳輸信息。瀏覽網頁服務默認的端口號是80。
九、 使用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文檔。
十、 get和post發送方式
post:post方式會將表單的內容經過http發送,在地址欄中看不到表單的提交信息,比較安全,並且使用post方式發送信息沒有字符長度的限制。
get方式:表單內容通過編碼以後,經過URL發送,能夠在地址欄中看到表單信息,不安全。使用get方式發送信息時有255個字符的限制。get請求的頁面能夠設置爲書籤或使用郵件發送,而post不能夠。