jsp程序設計-復習重點_第1頁
jsp程序設計-復習重點_第2頁
jsp程序設計-復習重點_第3頁
jsp程序設計-復習重點_第4頁
jsp程序設計-復習重點_第5頁
已閱讀5頁,還剩4頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、1. 開發JSP程序所需的開發環境及各自作用:1.Web瀏覽器:用于客戶端用戶訪問Web應用的工具2.Web效勞器:只有將開發的Web工程放置到該容器中,才能使網絡中的所有用戶通過瀏覽器進展訪問。如ApacheTomcat3.JDK:包括運行Java程序所必須的JRE環境及開發過程中常用的庫文件。4.數據庫:用來存儲工程中需要的信息。2. 字符串處理:例:StringstrA=newString(“讓我們的明天會更好!);StringstrB=平平淡淡才是真!out.println(strA.substring(4,6);out.println(strB.string(4,strB.lengt

2、h();/輸出結果是:明天才是真3. 在表單提交中文信息時,應在對應Servlet中添加如下代碼:requesrt.setCharacterEncoding(gb2312)4. JAVABean的分類:1可視化JavaBean2不可視JavaBean不可視JavaBean分為值JavaBeanDX具JavaBean值JavaBean嚴格遵循了JavaBean!勺命名規,通常用來封裝表單數據,作為信息的容器。JavaBean根據特殊的規編寫的普通的Java類,可稱它們為“獨立的組件。每一個JavaBean現一個特定的功能,最大優點就是充分提高了代碼的可重用性。通常一個標準的JavaBean遵循以

3、下規:1實現java.io.SerializableH口;2是一個公共類;ZE一個公共類;3類中必須存在一個無參數的構造函數;4提供對應的setXxx()和getXxx()方法來存取類中的屬性5. Servlet的生命周期:第一步:用戶通過客戶端瀏覽器請求效勞器,效勞器加載Servlet,并創立一個Servlet實例;第二步:容器調用Servlet的init()方法;第三步:容器調用service。方法,并將ServletRequest和ServletResponse對象傳遞給該方法,在service。方法中處理用戶請求;第四步:在Servlet中請求處理完畢后,將結果返回給容器;第五步:容器

4、將結果返回給客戶端進展顯示;第六步:當Web器關閉時,調用destroy。方法銷毀Servlet實例。Servlet與JSP的區別:Servlet是運行在效勞器端運行的Java程序;JSP是一種腳本語言;6. Servlet是在JSP之前就存在的運行在效勞端的一種Java技術.Servlet主要用于處理請求,并將處理的結果傳遞給瀏覽器生成動態Web頁面。Servlet具有可移植,功能強大、平安、可擴展和靈活等優點。與JSP的區別:1編程方式不同;2Servlet必須在編譯以后才能執行;3運行速度不同。7. JSP是運行在效勞器端的腳本語言之一,是用來開發動態網頁的一種技術。8. JSP的處理過

5、程:1.客戶端通過瀏覽器向效勞器發出請求,在該請求中包含了請求的資源的路徑,這樣當效勞器接收到該請求后就可以知道被請求的資源。2.效勞器根據接收到的客戶端的請求來加載被請求的JSP文件。3.Web效勞器中的JSP引擎會將被加載白JSP文件轉化為Servlet4.JSP引擎將生成的Servlet代碼編譯成Class文件。5.JSP引擎將生成的Servlet代碼編譯成Class文件。6.效勞器將執行結果發送給瀏覽器進展顯示9. JSP的三種指令標識:a) import屬性外,其他屬性只能在指令中出現一次。重要屬性:language設置當前頁面中JSP腳本使用的語言,默認Java;import導入包

6、;session是否支持session默認支持;errorPage/isErrorPage:異常及異常處理頁面;例如:Index.jsp頁面中:Error.jsp中:出現錯誤!錯誤如下:b) 如果該屬性值以“/開頭,那么指定的是一個絕對路徑,將在當前應用的根目錄下查找文件;如果是以文件名稱或文件夾名開頭,那么指定的是一個相對路徑,將在當前頁面的目錄下查找文件。c) 例如:10. JSP的注釋:HTML中的注釋:帶有JSP表達式的注釋:!-comment-隱藏注釋:腳本程序Scriptlet中的注釋:單行,多行/*/11. JSP的腳本標識:JSP表達式:用于向頁面中輸出信息,聲明標識:可以聲明

7、變量或方法腳本程序:12. JSP的動作標識:1) 用于向當前頁面中包含其他文件,動態靜態文件均可。2) /向動態的目標文件傳遞參數注:轉發與重定向的區別:進展請求轉發時,存儲在request對象中的信息會被保存并被帶到目標頁面中;而請求重定向是重新生成一個request請求,然后將該請求重定向到指定的URL,所以事先存儲在request對象中的信息都不存在了。3) 在頁面中使用標識來實例化一個Bean實例后,可以通過屬性來設置或修改該Bean中的屬性,或者通過標識來讀取該Bean中指定的屬性。4) 5) 13. 動作標識與include指令的差異:1) 屬性:include指令將file屬性

8、值看作一個實際存在的文件的路徑,所以該屬性不支持任何表達式2) 處理方式:使用include指令被包含的文件,它的容會原封不動地插入到包含頁中使用該指令的位置,然后JS喻譯器再對這個合成的文件進展翻譯。所以最終編譯后的文件只有一個;使用動作標識包含文件時,當該標識被執行時,程序會將請求轉發到被包含的頁面,并將執行結果輸出到瀏覽器中,然后返回包含頁繼續執行后面的代碼。因為效勞器執行的是兩個文件,所以JSP編譯器會分別對這兩個文件進展編譯。3)包含方式:include指令最終效勞器執行的是將兩個文件合成后由JSP編譯器編譯成的一個Class文件,這種包含過程稱為靜態包含;動作標識被執行時,使用該識

9、包含的目標文件才會被編譯,否那么被包含的文件不會被編譯,所以這種包含過程稱為動態包含。14. JSP的置對象1) Request,是從客戶端向效勞器發出請求,包括用戶提交的信息以及客戶端的一些信息。具體應用:b)訪問請求參數:StringuserName=request.getParameter(name);c)在作用域中管理屬性:request.setAttribute(name,obj);request.getAttribute(Stringname);例如:使用request對象的setAttribute()方法設置數據,然后在請求轉發后取得設置的數據。例:。在error.jsp中out

10、.println(錯誤提示信息為:+request.getAttribute(error);d)獲取cookie:Cookiecookie=request.getCookies();例如:使用request對象的addCookie()方法實現記錄本次及上一次訪問網頁的時間。%Cookiecookies=request.getCookies();Cookiecookie_response=null;if(cookies!=null)cookie_response=cookies0;out.println(本次訪問時間:+newjava.util.Date()+);if(cookie_respon

11、se!=null)/輸出上一次訪問的時間。并設置cookie_response對象為最新時間。out.println(上一次訪問時間:+cookie_response.getValue();cookie_response.setValue(newjava.util.Date().toString();/如果Cookies集為空,創立cookie,并參加到response中if(cookies=null)cookie_response=newCookie(AccessTime,);cookie_response.setValue(newjava.util.Date().toString();re

12、sponse.addCookie(cookie_response);%1) Response,用于響應客戶請求,向客戶端輸出信息。a)重定向網頁:response.sendRedirect(login_ok.jsp);sendError(近法可指明錯誤狀態。例如:b)設置響應報頭:response.setContentType“(text/html)2) Session,與請求有關的會話期,使效勞器和客戶端之間的連接就會一直保持下去,但是在一定時間系統默認在30min,如果客戶端不向效勞器發出應答請求,session對象就會自動消失。a) 創立及獲取客戶的會話:使用setAttribute()

13、和getAttribute()方法b) 從會話中移除指定對象:session.removeAttribute(Stringname);例如:session.setAttribute(information,向session中保存數據);response.sendRedirect(forward.jsp);在forword.jsp中:session.removeAttribute(information);c) 銷毀session用session.invalidate();3) Application,對象用于保存所有應用程序中的公有數據,效勞器啟動并且自動創立application對象后,只要

14、沒有關閉效勞器,application對象將一直存在,所有用戶可以共享application對象。application對象與session對象有所區別,session對象和用戶會話相關,不同用戶的session是完全不同的對象,而用戶的application對象都是一樣的一個對象,即共享這個置的application對象。可以用于網頁計算器:4) Out,主要用來向客戶端輸出各種數據類型的容,并且管理應用效勞器上的輸出緩沖區。15. JavaBean技術的應用:值JavaBean:例:在登錄頁面表單中有與已創立的JavaBean屬性相對應的字段:轉發到一下處理頁面,用值JavaBean展處理

15、:用戶名:密碼:工具JavaBean:publicclassMyToolspublicstaticStringchange(Stringstr)str=str.replace(,>);returnstr;/將進展轉換inti=0;i=Integer.parseInt(str)/將String轉換為int解決中文亂碼:publicstaticStringtoChinese(Stringstr)if(str=null)str=;try/通過String類的構造方法將,指定的字符串轉換為“gb2312編碼str=newString(str.getBytes(ISO-8859-1),gb2312

16、);16. Servlet技術:1) 創立Servlet的步驟: 1繼承Servlet抽象類。 2重載適當的方法,如覆蓋或稱為重寫doGet()方法或doPost()方法。 3如果有請求信息的話,獲取該信息。可通過調用ServletRequest類對象的getParameter(防法獲取請求信息 4生成響應。ServletRespons聯對象生成響應簡單的實例:publicclassMyServletextendsServletpublicvoiddoGet(ServletRequestrequest,ServletResponseresponse)throwsServletException

17、,lOExceptionresponse.setContentType(text/html;charset=gb2312);PrintWriterout=response.getWriter();out.println(保護環境!保護地球!);2) Web.xml文件的配置:web-appMyServlet.MyServlet10啟動裝入優先權,小者優先MyServlet/textServlet17. 數據庫相關知識:1)連接數據庫的步驟:a)加載JDBC驅動程序通過靜態方法forName(StringclassName陜現b)創立數據庫連接Connectionconn=DriverManag

18、er.getConnection()c)執行SQL語句但是通過Connection實例并不能執行SQL語句,還需要通過Connection實例創立Statement實例,Statement實例又分為以下3種類型:1Statement實例:該類型的實例只能用來執行靜態的SQL語句;2PreparedStatement實例:該類型的實仞用于執行動態SQL語句的功能3CallableStatementX寸象:該類型的實例用于執行數據庫存儲過程的功能。d)獲得查詢結果如果執行的是executeUpdate(方法,將返回一個int型數值,代表影響數據庫記錄的條數,即插入、修改或刪除記錄的條數;如果執行的

19、是executeQuery()方法,將返回一個ResultSet型的結果集,其中不僅包含所有滿足查詢條件的記錄,還包含相應數據表的相關信息e)關閉連接通過各個實例的close()方法2)連接SQL數據庫實例:%StringdriverClass=.microsoft.jdbc.sqlserver.SQLServerDriver;Stringurl=jdbc:microsoft:sqlserver::1433;DatabaseName=db_database08;Stringusername=sa;Stringpassword=;Class.forName(driverClas

20、s);Connectionconn=DriverManager.getConnection(url,username,password);Statementstmt=conn.createStatement();ResultSetrs=stmt.executeQuery(select*fromtb_user);while(rs.next()out.println(用戶名:+rs.getString(2)+密碼:+rs.getString(3);rs.close();stmt.close();conn.close();%18.AjaxAjax=異步Javascript和XML,是一種用于創立快速

21、動態網頁的技術。通過在后臺與效勞器進展少量數據交換,AJAX可以使網頁實現異步更新。這意味著可以在不重新加載整個網頁的情況下,對網頁的某局部進展更新。XMLRequest是AJAX的根底,用于在后臺與效勞器交換數據。Varxml=newActiveXObject(Microsoft.XML);常用方法:open(method,url,async)send()onreadystatechange存儲函數或函數名,每當readyState屬性改變時,就會調用該函數。readyState存有XMLRequest的狀態。0:請求未初始化1:效勞器連接已建立2:請求已接收3:請求處理中4:請求已完成,且

22、響應已就緒status200:OK404:未找到頁面responseText效勞器的響應,表示為字符串responseXML效勞器的響應,表示為XML,這個對象可以解析升-個DOM對象搭建Ajax開發框架實例:scriptlanguage=javascriptvar_request=false;functioncreateRequest(url)_request=false;try_request=newActiveXObject(Msxml2.XML);catch(e)try_request=newActiveXObject(Microsoft.XML);catch(e)_request.o

23、nreadystatechange=getResult;/倜用返回結果處理函數_request.open(POST,url,true);_request.send();/返回結果處理函數functiongetResult()if(_request.readyState=4)/判斷請求狀態if(_request.status=200)/請求成功,開場處理返回結果answer.innerHTML=_request.responseText;else/請求頁面有錯誤alert(您所請求的頁面有錯誤!);這是一生中難彳#的時機。漢譯英19. Cookie:1) Cookie的格式:Set-Cookie

24、:Name=Value;Comment=value;Domain=value;Max-Age=value;Path=Value;2) 創立cookie:response.add(cookie)例如:Stringpass=request.getParameter(upass);Stringuname=request.getParameter(uname);finalStringsSession=uname+:+pass;Cookieoltem=newCookie(SSO,sSession);/oItem.setDomain(.my.);/域oItem.setMaxAge(14*24*60*60)

25、;/秒;0/-1oItem.setPath(/bbs);/域下的路徑response.addCookie(oltem);3) 獲取cookie:request.getCookies得到的是一個cookie數組獲取以上設置的cookie:Cookiecookie=request.getCookies();Stringupass,uname;Strings=null;Cookieucookie;for(inti=0;icookie.length;i+)if(cookiei.getName().equals(SSO)s=cookiei.getValue();4) 銷毀cookie將age設置為0即可

26、:setMaxAge(0)20. EL表達式:$expression通過表達式語言調用JavaBean中的屬性值或方法的代碼:$$dao.getName()21. JSTL標準標簽庫重點介紹核心標簽庫的5中標簽庫1) 表達式標簽:a) 標簽:用于將計算的結果輸出到JSP頁面中例如:escapeXml屬性值為false時:c:outvalue=escapeXml=false/escapeXml屬性值為true時:c:outvalue=/第一種語法格式:第二種語法格式:name的值為空b) 標簽:用于定義和存儲變量c) 標簽:可以從指定的JSP圍中移除指定的變量2) 條件標簽:(a) 標簽:在scope圍,判斷test并將條件的判斷結果保存在var屬性指定的變量中c:iftest=conditionvar=namescope=page|request|session|application例如:/輸出false請輸入用戶名:(b) 標簽,語法:例如:6&hours上午好!1

溫馨提示

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

評論

0/150

提交評論