JavaEE架構與程序設計--第一部分_第1頁
JavaEE架構與程序設計--第一部分_第2頁
JavaEE架構與程序設計--第一部分_第3頁
JavaEE架構與程序設計--第一部分_第4頁
JavaEE架構與程序設計--第一部分_第5頁
已閱讀5頁,還剩60頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、JavaEE架構與程序設計第一部分:JSP/Servlet快速入門 快速理解Servlet 快速理解JSP 理解MVC模式章節(jié)目錄章節(jié)目錄章節(jié)目錄章節(jié)目錄 JavaEE技術概述 搭建開發(fā)運行環(huán)境 第一個Web應用JavaEEJavaEE技術概述技術概述 Java技術有3個版本 JavaME JavaSE JavaEE JavaEE有13種技術 JDBC XML JSP Servlet EJB JMS HttpHttp協議協議 HTTP是超文本傳輸協議,用于在互聯網上傳輸文本、超文本、聲音和圖像等等 HTTP協議是指超文本傳輸協議,專門用于在Internet上傳輸信息的協議,目前的版本是1.1;

2、 HTTP是應用層的協議,它基于請求/響應模式; HTTP協議默認使用80端口進行通訊; HTTP協議是無狀態(tài)的的協議客戶端瀏覽器Web服務器Web應用程序客戶端發(fā)起連接客戶端發(fā)送請求服務器響應請求服務器斷開連接WebWeb應用程序應用程序 WebWeb應用程序續(xù)應用程序續(xù) 用戶請求一個頁面Web 應用程序Web 應用程序在 Web 服務器上運行 傳回一個頁面作為響應WebWeb應用程序工作原理應用程序工作原理 客戶端把請求發(fā)送到服務器端的Web應用程序, Web應用程序接收請求后進行相關處理(靜態(tài)網頁和動態(tài)網頁) ,并把結果以文本或網頁的形式,返回到客戶端; 因此當訪問Web 站點的時候,我

3、們所看到的所有內容都是在瀏覽器中呈現的; Web應用程序是在HTTP協議支持下的,基于B/S結構(Browser瀏覽器/Server服務器)的應用程序。WebWeb應用程序優(yōu)勢應用程序優(yōu)勢 相對于傳統的C/S結構(Client客戶端/Server服務器)的應用程序而言,B/S結構的Web應用程序具備以下優(yōu)勢: 集中部署,無需安裝客戶端程序; 集中管理,業(yè)務邏輯在服務端進行維護; 數據共享,所有客戶端訪問同一服務器的數據; 覆蓋面廣,只要有Internet覆蓋的區(qū)域都可通過瀏覽器享受服務; 更強的平臺無關性,不必關心客戶端的軟硬件平臺,只要遵循HTTP協議,都可獲得支持。WebWeb服務器程序服

4、務器程序 Web服務器程序是指運行在Web服務器上的軟件程序; 該程序的主要功能是負責偵聽指定端口,接收客戶端的請求并解析,然后將指定的頁面發(fā)送到客戶端; Web服務器程序必須遵循HTTP協議的規(guī)范; 注意:在本門課程中,服務器程序有時簡稱為服務器,客戶程序有時簡稱為客戶,如果沒有特殊說明,服務器是指服務器程序,而不是指運行服務器程序的主機。當今主流的當今主流的WebWeb服務器軟件服務器軟件 當今比較流行的Web服務器軟件有很多,包括: Microsoft公司的IIS(Internet Information Services); BEA公司的WebLogic; IBM公司的WebSpher

5、e; Apache公司的Tomcat; Tomcat是當今使用最為廣泛的基于Java的Web服務器軟件,是中小企業(yè)應用和學習Web編程的最佳選擇。搭建運行環(huán)境搭建運行環(huán)境 組件必須運行在容器(container)中 容器一般使用軟件形式實現 Tomcat是一種常用Web容器搭建開發(fā)環(huán)境搭建開發(fā)環(huán)境 使用Eclipse+MyEclipse作為開發(fā)環(huán)境使用使用MyEclipseMyEclipse管理管理TomcatTomcat 可以在MyEclipse中管理Tomcat第一個第一個WebWeb應用應用 創(chuàng)建Web工程 填寫工程信息 修改index.jsp文件 部署應用到Tomcat 啟動Tomca

6、t 在瀏覽器中訪問Web應用章節(jié)目錄章節(jié)目錄本章目標本章目標 Servlet基本概念 web.xml配置文件 請求與響應什么是什么是ServletServletServlet是服務器端的組件,是運行在Web服務器上的Java小程序Servlet必須運行在容器中,它一般會把處理的結果以為HTML的形式返回,在客戶端形成動態(tài)網頁Servlet是一個Java類,該類遵守一定規(guī)范客戶端Web服務器Servlet請 求響 應ServletServlet在在Java EEJava EE中的位置中的位置ServletServlet優(yōu)點優(yōu)點 Servlet運行在Web服務器中,可以擴展服務器的功能; Serv

7、let可以和其他資源交互,從而生成返回給客戶端響應的內容,即動態(tài)網頁; 使用Java編寫,所以能夠跨平臺; Java的所有優(yōu)點都可以在Servlet中體現; Servlet很安全,因為訪問Servlet的唯一途徑是通過服務器; 只要符合Servlet規(guī)范的Servlet容器都可以運行Servlet。Servlet APIServlet API 與Servlet相關的兩個包: javax.servlet javax.servlet.http javax.servlet包中包含了支持通用的,跨協議的Servlet的相關接口和類; javax.servlet.http包中則包含了特定于HTTP協議的

8、Servlet相關類; 在Tomcat安裝目錄/common/lib路徑下,可以找到servlet-api.jar文件。javax.servletjavax.servlet包中的接口包中的接口接口名稱說 明Servlet這是每個Servlet都必須實現的接口,它定義了一系列必須由Servlet實現的方法。ServletRequest此接口用于將客戶端的請求信息傳送給Servlet。ServletResponse此接口用于對客戶端做出響應。ServletConfig此接口定義Servlet配置對象,以便于容器將信息傳遞給Servlet。ServletContext此接口定義了一組方法,用于Ser

9、vlet與容器進行通信。javax.servletjavax.servlet包中的類包中的類類名稱說 明GenericServlet抽象類,定義一個通用的、獨立于底層協議的Servlet。ServletInputStream這是提供輸入流用于讀取來自客戶端請求的二進制數據的類。ServletOutputStream此類提供輸出流用于將二進制數據發(fā)送到客戶端。ServletExceptionServlet在執(zhí)行過程中遇到困難時拋出該異常。javax.servlet.httpjavax.servlet.http包中的接口包中的接口接口名稱說 明HttpServletRequest該接口擴展Serv

10、letRequest接口,定義了一系列用于描述HTTP請求的方法。HttpServletResponse該接口擴展ServletResponse接口,提供服務器對客戶端的響應對象。HttpSession該接口提供客戶端與服務器端的會話標識。javax.servlet.httpjavax.servlet.http包中的類包中的類27類名稱說 明HttpServlet該類是最常用于擴展Servlet的類,因為很多Servlet應用程序都遵照HTTP協議運行。此類支持HTTP協議功能以及Servlet類的方法,它是個抽象類。它接收客戶端的請求,并向客戶端發(fā)送響應。Cookie此類用來創(chuàng)建Cookie

11、,它存儲了少量由Servlet發(fā)送至客戶端的信息。javax.servlet.http.HttpServletjavax.servlet.http.HttpServlet HttpServlet中提供了一系列讓子類重寫的方法,在不同的時刻會調用執(zhí)行這些方法:方 法 原 型說 明public void init(ServletConfig config)throws ServletException在初始化Servlet時調用一次,如有特殊需要,可重寫該方法。protected void doGet(HttpServletRequest request, HttpServletResponse

12、response)throws ServletException, IOException如果客戶端是以GET方式提交請求時執(zhí)行,應當重寫此方法protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException如果客戶端是以POST方式提交請求時執(zhí)行,應當重寫此方法public void destroy()當銷毀Servlet實例時調用一次,如有需要釋放的資源,可重寫該方法注意事項注意事項HttpServlet中還包含一個servi

13、ce方法,其原型如下:public void service(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException此方法用來調度客戶端的請求,API文檔中明確規(guī)定,請勿重寫該方法。doGet doGet 與與 doPost doPost 在web基本的學習部分,我們知道了form提交的方式get 方式和post方式 我們提交把請求提交到Servlet中,容器會調用Servlet中的相應方法 getdoGet postdoPostdoGetdoGet和和doPos

14、tdoPost的區(qū)別的區(qū)別 doGet事件可接受: 瀏覽器直接訪問 超級連接默認為doGet Form表單的get方法訪問 不安全 會在瀏覽器顯示 字符有限制 doPost事件只可接受form的post方法訪問 第一個第一個ServletServlet 繼承HttpServlet類 覆蓋HttpServlet類的doXXX方法 往往覆蓋doGet或doPost方法packagepackage com.etc;publicpublic classclass FirstServlet extendsextends HttpServlet publicpublic voidvoid doPost(H

15、ttpServletRequest request, HttpServletResponse response)throwsthrows ServletException, IOException System.out.println(doPost: Hello,ETC!);如何訪問如何訪問ServletServlet 訪問Servlet前,必須在web.xml中配置Servlet信息 FirstServlet com.etc.FirstServlet FirstServlet /firstservlet名稱可以隨便命名Servlet類名稱Servlet對應的url映射名稱與上面name必須一

16、致訪問訪問ServletServlet的三種方式的三種方式有三種方式可以訪問Servlet在地址欄通過url直接訪問 http:/localhost:8080/chapter01/firstServlet通過超級鏈接訪問 Run the first servlet 通過表單提交訪問 web.xmlweb.xml文件文件 web.xml是部署描述符文件 每個web應用中都必須有web.xml文件 web.xml存在于WEB-INF目錄下 web.xml中所有標簽都在schema中定義使用使用MyEclipseMyEclipse開發(fā)開發(fā)ServletServlet 使用模板創(chuàng)建Servlet 填寫

17、Servlet描述信息 在生成的web.xml中可以繼續(xù)修改描述信息 在生成的Servlet類中可以修改相關代碼 部署web應用 在瀏覽器中訪問web應用 基于基于HTTPHTTP的請求響應機制的請求響應機制 建立連接 發(fā)送請求 返回響應 關閉連接請求接口請求接口HttpServletRequestHttpServletRequest繼承于ServletRequest父接口定義了大量獲得請求信息的方法getParameter:獲得客戶端傳遞到服務器的請求參數的值getHeader:返回整型請求頭信息的值響應接口響應接口HttpServletResponseHttpServletResponse

18、繼承于ServletResponse父接口定義了大量與響應有關的方法getWriter獲得響應的輸出流,將響應的內容輸出客戶端setContentType:設定HTTP 回應的“內容類型”(content type)章節(jié)目錄章節(jié)目錄 JSP基本概念 腳本元素 內置對象什么是什么是JSPJSP JSP是服務器端組件,必須運行在容器中 表面上看,JSP是HTML文件中嵌入了部分Java代碼的文件 JSP中的Java代碼使用封裝Hello,ETC! JSPJSP運行的步驟運行的步驟 容器將JSP文件翻譯成Java文件,該Java文件符合Servlet規(guī)范 容器將翻譯生成的Java文件編譯成class

19、文件 容器實例化JSP對象 容器調用類的服務方法(_jspService方法),提供服務JSPJSP腳本元素入門腳本元素入門 Java腳本必須寫在JSP腳本元素中 :腳本片段,可以包含任何符合語法的Java代碼 :表達式,將=后的表達式內容輸出到客戶端JSPJSP內置對象入門內置對象入門 內置對象是可以在JSP中直接使用的對象,不需要定義,不需要初始化 request response out章節(jié)目錄章節(jié)目錄 JDBC常用API JDBC進行查詢 JDBC進行修改JDBCJDBC概述概述 JDBC是Java語言訪問數據庫的解決方案 JDBC包括兩部分 第一部分是提供給程序員使用的API 第二部

20、分是數據庫廠商實現的API,稱為SPIJDBC APIJDBC API常用接口與類常用接口與類 DriverManager:驅動管理器類 Connection:數據庫連接接口 Statement:語句對象接口 ResultSet:結果集接口使用使用JDBCJDBC進行增刪改進行增刪改 下載驅動程序包 加載驅動類 獲得連接 獲得語句對象 使用executeUpdate執(zhí)行增刪改語句 關閉資源使用使用JDBCJDBC進行查詢進行查詢 下載驅動 加載驅動類 獲得連接 獲得語句對象 使用executeQuery語句執(zhí)行查詢,返回ResultSet對象 處理ResultSet對象 關閉資源JDBCJDB

21、C的語句對象的語句對象 JDBC API中有三種常用語句對象 Statement 是語句對象的頂級接口,定義了語句對象統一規(guī)范 PreparedStatement 稱為預編譯的語句對象,是Statement的子接口 CallableStatement 可以用來調用數據庫的存儲過程章節(jié)目錄章節(jié)目錄 MVC模式的概念與應用簡單簡單DemoDemo 一個簡單的Demo,包含如下幾個部分 JSP頁面 登錄邏輯(Java類實現) 連接JSP與Java類的Servlet簡單簡單DemoDemo 一個簡單的Demo,包含如下幾個部分 JSP頁面 登錄邏輯(Java類實現) 連接JSP與Java類的Servl

22、etDemoDemo中的中的MVCMVC體現體現 Java類實現業(yè)務邏輯-Model(模型) JSP頁面實現視圖-View(視圖) Servlet實現控制邏輯-Controller(控制器)DemoDemo中的中的MVCMVC體現體現 Java類實現業(yè)務邏輯-Model(模型) JSP頁面實現視圖-View(視圖) Servlet實現控制邏輯-Controller(控制器)MVCMVC總結總結 MVC本來應用于桌面程序 M是指數據模型,V是指用戶界面,C則是控制器 JavaEE的Web應用開發(fā),經歷了Model1和Model2的不同時代 Model2已經是MVC設計思想下的架構,Servlet

23、充當控制器,JSP充當視圖,JavaBean則作為模型JSP Model1JSP Model1 相對于純粹使用JSP開發(fā),許多有經驗的工程師都會將部分可以重復利用的組件抽出來寫成JavaBean,當用戶送來一個請求是,通過JSP調用JavaBean負責相關數據存取、邏輯運算等等的處理,最后將結果回傳到JSP顯示結果JSP Model1JSP Model1 優(yōu)點: 程序可讀性增高:將復雜的程序代碼寫在JavaBean之中,減少和網頁標簽混合使用的情況,未來維護的時候能夠較為輕松。 可重復利用性高:由于通過JavaBean來封裝重要的商業(yè)邏輯運算,不同的JSP可以調用許多共享性的組件,減少開發(fā)重復程序代碼的工作,增加開發(fā)效能。 缺點: 缺乏流程控制:這是Model最大的缺點,缺

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論