




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1. 開發(fā)JSP程序所需的開發(fā)環(huán)境及各自作用:1.Web瀏覽器:用于客戶端用戶訪問Web應(yīng)用的工具2.Web效勞器:只有將開發(fā)的Web工程放置到該容器中,才能使網(wǎng)絡(luò)中的所有用戶通過瀏覽器進(jìn)展訪問。如ApacheTomcat3.JDK:包括運(yùn)行Java程序所必須的JRE環(huán)境及開發(fā)過程中常用的庫(kù)文件。4.數(shù)據(jù)庫(kù):用來存儲(chǔ)工程中需要的信息。2. 字符串處理:例:StringstrA=newString(“讓我們的明天會(huì)更好!);StringstrB=平平淡淡才是真!out.println(strA.substring(4,6);out.println(strB.string(4,strB.lengt
2、h();/輸出結(jié)果是:明天才是真3. 在表單提交中文信息時(shí),應(yīng)在對(duì)應(yīng)Servlet中添加如下代碼:requesrt.setCharacterEncoding(gb2312)4. JAVABean的分類:1可視化JavaBean2不可視JavaBean不可視JavaBean分為值JavaBeanDX具JavaBean值JavaBean嚴(yán)格遵循了JavaBean!勺命名規(guī),通常用來封裝表單數(shù)據(jù),作為信息的容器。JavaBean根據(jù)特殊的規(guī)編寫的普通的Java類,可稱它們?yōu)椤蔼?dú)立的組件。每一個(gè)JavaBean現(xiàn)一個(gè)特定的功能,最大優(yōu)點(diǎn)就是充分提高了代碼的可重用性。通常一個(gè)標(biāo)準(zhǔn)的JavaBean遵循以
3、下規(guī):1實(shí)現(xiàn)java.io.SerializableH口;2是一個(gè)公共類;ZE一個(gè)公共類;3類中必須存在一個(gè)無參數(shù)的構(gòu)造函數(shù);4提供對(duì)應(yīng)的setXxx()和getXxx()方法來存取類中的屬性5. Servlet的生命周期:第一步:用戶通過客戶端瀏覽器請(qǐng)求效勞器,效勞器加載Servlet,并創(chuàng)立一個(gè)Servlet實(shí)例;第二步:容器調(diào)用Servlet的init()方法;第三步:容器調(diào)用service。方法,并將ServletRequest和ServletResponse對(duì)象傳遞給該方法,在service。方法中處理用戶請(qǐng)求;第四步:在Servlet中請(qǐng)求處理完畢后,將結(jié)果返回給容器;第五步:容器
4、將結(jié)果返回給客戶端進(jìn)展顯示;第六步:當(dāng)Web器關(guān)閉時(shí),調(diào)用destroy。方法銷毀Servlet實(shí)例。Servlet與JSP的區(qū)別:Servlet是運(yùn)行在效勞器端運(yùn)行的Java程序;JSP是一種腳本語言;6. Servlet是在JSP之前就存在的運(yùn)行在效勞端的一種Java技術(shù).Servlet主要用于處理請(qǐng)求,并將處理的結(jié)果傳遞給瀏覽器生成動(dòng)態(tài)Web頁面。Servlet具有可移植,功能強(qiáng)大、平安、可擴(kuò)展和靈活等優(yōu)點(diǎn)。與JSP的區(qū)別:1編程方式不同;2Servlet必須在編譯以后才能執(zhí)行;3運(yùn)行速度不同。7. JSP是運(yùn)行在效勞器端的腳本語言之一,是用來開發(fā)動(dòng)態(tài)網(wǎng)頁的一種技術(shù)。8. JSP的處理過
5、程:1.客戶端通過瀏覽器向效勞器發(fā)出請(qǐng)求,在該請(qǐng)求中包含了請(qǐng)求的資源的路徑,這樣當(dāng)效勞器接收到該請(qǐng)求后就可以知道被請(qǐng)求的資源。2.效勞器根據(jù)接收到的客戶端的請(qǐng)求來加載被請(qǐng)求的JSP文件。3.Web效勞器中的JSP引擎會(huì)將被加載白JSP文件轉(zhuǎn)化為Servlet4.JSP引擎將生成的Servlet代碼編譯成Class文件。5.JSP引擎將生成的Servlet代碼編譯成Class文件。6.效勞器將執(zhí)行結(jié)果發(fā)送給瀏覽器進(jìn)展顯示9. JSP的三種指令標(biāo)識(shí):a) import屬性外,其他屬性只能在指令中出現(xiàn)一次。重要屬性:language設(shè)置當(dāng)前頁面中JSP腳本使用的語言,默認(rèn)Java;import導(dǎo)入包
6、;session是否支持session默認(rèn)支持;errorPage/isErrorPage:異常及異常處理頁面;例如:Index.jsp頁面中:Error.jsp中:出現(xiàn)錯(cuò)誤!錯(cuò)誤如下:b) 如果該屬性值以“/開頭,那么指定的是一個(gè)絕對(duì)路徑,將在當(dāng)前應(yīng)用的根目錄下查找文件;如果是以文件名稱或文件夾名開頭,那么指定的是一個(gè)相對(duì)路徑,將在當(dāng)前頁面的目錄下查找文件。c) 例如:10. JSP的注釋:HTML中的注釋:帶有JSP表達(dá)式的注釋:!-comment-隱藏注釋:腳本程序Scriptlet中的注釋:?jiǎn)涡?,多?*/11. JSP的腳本標(biāo)識(shí):JSP表達(dá)式:用于向頁面中輸出信息,聲明標(biāo)識(shí):可以聲明
7、變量或方法腳本程序:12. JSP的動(dòng)作標(biāo)識(shí):1) 用于向當(dāng)前頁面中包含其他文件,動(dòng)態(tài)靜態(tài)文件均可。2) /向動(dòng)態(tài)的目標(biāo)文件傳遞參數(shù)注:轉(zhuǎn)發(fā)與重定向的區(qū)別:進(jìn)展請(qǐng)求轉(zhuǎn)發(fā)時(shí),存儲(chǔ)在request對(duì)象中的信息會(huì)被保存并被帶到目標(biāo)頁面中;而請(qǐng)求重定向是重新生成一個(gè)request請(qǐng)求,然后將該請(qǐng)求重定向到指定的URL,所以事先存儲(chǔ)在request對(duì)象中的信息都不存在了。3) 在頁面中使用標(biāo)識(shí)來實(shí)例化一個(gè)Bean實(shí)例后,可以通過屬性來設(shè)置或修改該Bean中的屬性,或者通過標(biāo)識(shí)來讀取該Bean中指定的屬性。4) 5) 13. 動(dòng)作標(biāo)識(shí)與include指令的差異:1) 屬性:include指令將file屬性
8、值看作一個(gè)實(shí)際存在的文件的路徑,所以該屬性不支持任何表達(dá)式2) 處理方式:使用include指令被包含的文件,它的容會(huì)原封不動(dòng)地插入到包含頁中使用該指令的位置,然后JS喻譯器再對(duì)這個(gè)合成的文件進(jìn)展翻譯。所以最終編譯后的文件只有一個(gè);使用動(dòng)作標(biāo)識(shí)包含文件時(shí),當(dāng)該標(biāo)識(shí)被執(zhí)行時(shí),程序會(huì)將請(qǐng)求轉(zhuǎn)發(fā)到被包含的頁面,并將執(zhí)行結(jié)果輸出到瀏覽器中,然后返回包含頁繼續(xù)執(zhí)行后面的代碼。因?yàn)樾谄鲌?zhí)行的是兩個(gè)文件,所以JSP編譯器會(huì)分別對(duì)這兩個(gè)文件進(jìn)展編譯。3)包含方式:include指令最終效勞器執(zhí)行的是將兩個(gè)文件合成后由JSP編譯器編譯成的一個(gè)Class文件,這種包含過程稱為靜態(tài)包含;動(dòng)作標(biāo)識(shí)被執(zhí)行時(shí),使用該識(shí)
9、包含的目標(biāo)文件才會(huì)被編譯,否那么被包含的文件不會(huì)被編譯,所以這種包含過程稱為動(dòng)態(tài)包含。14. JSP的置對(duì)象1) Request,是從客戶端向效勞器發(fā)出請(qǐng)求,包括用戶提交的信息以及客戶端的一些信息。具體應(yīng)用:b)訪問請(qǐng)求參數(shù):StringuserName=request.getParameter(name);c)在作用域中管理屬性:request.setAttribute(name,obj);request.getAttribute(Stringname);例如:使用request對(duì)象的setAttribute()方法設(shè)置數(shù)據(jù),然后在請(qǐng)求轉(zhuǎn)發(fā)后取得設(shè)置的數(shù)據(jù)。例:。在error.jsp中out
10、.println(錯(cuò)誤提示信息為:+request.getAttribute(error);d)獲取cookie:Cookiecookie=request.getCookies();例如:使用request對(duì)象的addCookie()方法實(shí)現(xiàn)記錄本次及上一次訪問網(wǎng)頁的時(shí)間。%Cookiecookies=request.getCookies();Cookiecookie_response=null;if(cookies!=null)cookie_response=cookies0;out.println(本次訪問時(shí)間:+newjava.util.Date()+);if(cookie_respon
11、se!=null)/輸出上一次訪問的時(shí)間。并設(shè)置cookie_response對(duì)象為最新時(shí)間。out.println(上一次訪問時(shí)間:+cookie_response.getValue();cookie_response.setValue(newjava.util.Date().toString();/如果Cookies集為空,創(chuàng)立cookie,并參加到response中if(cookies=null)cookie_response=newCookie(AccessTime,);cookie_response.setValue(newjava.util.Date().toString();re
12、sponse.addCookie(cookie_response);%1) Response,用于響應(yīng)客戶請(qǐng)求,向客戶端輸出信息。a)重定向網(wǎng)頁:response.sendRedirect(login_ok.jsp);sendError(近法可指明錯(cuò)誤狀態(tài)。例如:b)設(shè)置響應(yīng)報(bào)頭:response.setContentType“(text/html)2) Session,與請(qǐng)求有關(guān)的會(huì)話期,使效勞器和客戶端之間的連接就會(huì)一直保持下去,但是在一定時(shí)間系統(tǒng)默認(rèn)在30min,如果客戶端不向效勞器發(fā)出應(yīng)答請(qǐng)求,session對(duì)象就會(huì)自動(dòng)消失。a) 創(chuàng)立及獲取客戶的會(huì)話:使用setAttribute()
13、和getAttribute()方法b) 從會(huì)話中移除指定對(duì)象:session.removeAttribute(Stringname);例如:session.setAttribute(information,向session中保存數(shù)據(jù));response.sendRedirect(forward.jsp);在forword.jsp中:session.removeAttribute(information);c) 銷毀session用session.invalidate();3) Application,對(duì)象用于保存所有應(yīng)用程序中的公有數(shù)據(jù),效勞器啟動(dòng)并且自動(dòng)創(chuàng)立application對(duì)象后,只要
14、沒有關(guān)閉效勞器,application對(duì)象將一直存在,所有用戶可以共享application對(duì)象。application對(duì)象與session對(duì)象有所區(qū)別,session對(duì)象和用戶會(huì)話相關(guān),不同用戶的session是完全不同的對(duì)象,而用戶的application對(duì)象都是一樣的一個(gè)對(duì)象,即共享這個(gè)置的application對(duì)象??梢杂糜诰W(wǎng)頁計(jì)算器:4) Out,主要用來向客戶端輸出各種數(shù)據(jù)類型的容,并且管理應(yīng)用效勞器上的輸出緩沖區(qū)。15. JavaBean技術(shù)的應(yīng)用:值JavaBean:例:在登錄頁面表單中有與已創(chuàng)立的JavaBean屬性相對(duì)應(yīng)的字段:轉(zhuǎn)發(fā)到一下處理頁面,用值JavaBean展處理
15、:用戶名:密碼:工具JavaBean:publicclassMyToolspublicstaticStringchange(Stringstr)str=str.replace(,>);returnstr;/將進(jìn)展轉(zhuǎn)換inti=0;i=Integer.parseInt(str)/將String轉(zhuǎn)換為int解決中文亂碼:publicstaticStringtoChinese(Stringstr)if(str=null)str=;try/通過String類的構(gòu)造方法將,指定的字符串轉(zhuǎn)換為“gb2312編碼str=newString(str.getBytes(ISO-8859-1),gb2312
16、);16. Servlet技術(shù):1) 創(chuàng)立Servlet的步驟: 1繼承Servlet抽象類。 2重載適當(dāng)?shù)姆椒ǎ绺采w或稱為重寫doGet()方法或doPost()方法。 3如果有請(qǐng)求信息的話,獲取該信息??赏ㄟ^調(diào)用ServletRequest類對(duì)象的getParameter(防法獲取請(qǐng)求信息 4生成響應(yīng)。ServletRespons聯(lián)對(duì)象生成響應(yīng)簡(jiǎn)單的實(shí)例:publicclassMyServletextendsServletpublicvoiddoGet(ServletRequestrequest,ServletResponseresponse)throwsServletException
17、,lOExceptionresponse.setContentType(text/html;charset=gb2312);PrintWriterout=response.getWriter();out.println(保護(hù)環(huán)境!保護(hù)地球!);2) Web.xml文件的配置:web-appMyServlet.MyServlet10啟動(dòng)裝入優(yōu)先權(quán),小者優(yōu)先MyServlet/textServlet17. 數(shù)據(jù)庫(kù)相關(guān)知識(shí):1)連接數(shù)據(jù)庫(kù)的步驟:a)加載JDBC驅(qū)動(dòng)程序通過靜態(tài)方法forName(StringclassName陜現(xiàn)b)創(chuàng)立數(shù)據(jù)庫(kù)連接Connectionconn=DriverManag
18、er.getConnection()c)執(zhí)行SQL語句但是通過Connection實(shí)例并不能執(zhí)行SQL語句,還需要通過Connection實(shí)例創(chuàng)立Statement實(shí)例,Statement實(shí)例又分為以下3種類型:1Statement實(shí)例:該類型的實(shí)例只能用來執(zhí)行靜態(tài)的SQL語句;2PreparedStatement實(shí)例:該類型的實(shí)仞用于執(zhí)行動(dòng)態(tài)SQL語句的功能3CallableStatementX寸象:該類型的實(shí)例用于執(zhí)行數(shù)據(jù)庫(kù)存儲(chǔ)過程的功能。d)獲得查詢結(jié)果如果執(zhí)行的是executeUpdate(方法,將返回一個(gè)int型數(shù)值,代表影響數(shù)據(jù)庫(kù)記錄的條數(shù),即插入、修改或刪除記錄的條數(shù);如果執(zhí)行的
19、是executeQuery()方法,將返回一個(gè)ResultSet型的結(jié)果集,其中不僅包含所有滿足查詢條件的記錄,還包含相應(yīng)數(shù)據(jù)表的相關(guān)信息e)關(guān)閉連接通過各個(gè)實(shí)例的close()方法2)連接SQL數(shù)據(jù)庫(kù)實(shí)例:%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,是一種用于創(chuàng)立快速
21、動(dòng)態(tài)網(wǎng)頁的技術(shù)。通過在后臺(tái)與效勞器進(jìn)展少量數(shù)據(jù)交換,AJAX可以使網(wǎng)頁實(shí)現(xiàn)異步更新。這意味著可以在不重新加載整個(gè)網(wǎng)頁的情況下,對(duì)網(wǎng)頁的某局部進(jìn)展更新。XMLRequest是AJAX的根底,用于在后臺(tái)與效勞器交換數(shù)據(jù)。Varxml=newActiveXObject(Microsoft.XML);常用方法:open(method,url,async)send()onreadystatechange存儲(chǔ)函數(shù)或函數(shù)名,每當(dāng)readyState屬性改變時(shí),就會(huì)調(diào)用該函數(shù)。readyState存有XMLRequest的狀態(tài)。0:請(qǐng)求未初始化1:效勞器連接已建立2:請(qǐng)求已接收3:請(qǐng)求處理中4:請(qǐng)求已完成,且
22、響應(yīng)已就緒status200:OK404:未找到頁面responseText效勞器的響應(yīng),表示為字符串responseXML效勞器的響應(yīng),表示為XML,這個(gè)對(duì)象可以解析升-個(gè)DOM對(duì)象搭建Ajax開發(fā)框架實(shí)例: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;/倜用返回結(jié)果處理函數(shù)_request.open(POST,url,true);_request.send();/返回結(jié)果處理函數(shù)functiongetResult()if(_request.readyState=4)/判斷請(qǐng)求狀態(tài)if(_request.status=200)/請(qǐng)求成功,開場(chǎng)處理返回結(jié)果answer.innerHTML=_request.responseText;else/請(qǐng)求頁面有錯(cuò)誤alert(您所請(qǐng)求的頁面有錯(cuò)誤!);這是一生中難彳#的時(shí)機(jī)。漢譯英19. Cookie:1) Cookie的格式:Set-Cookie
24、:Name=Value;Comment=value;Domain=value;Max-Age=value;Path=Value;2) 創(chuàng)立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得到的是一個(gè)cookie數(shù)組獲取以上設(shè)置的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設(shè)置為0即可
26、:setMaxAge(0)20. EL表達(dá)式:$expression通過表達(dá)式語言調(diào)用JavaBean中的屬性值或方法的代碼:$$dao.getName()21. JSTL標(biāo)準(zhǔn)標(biāo)簽庫(kù)重點(diǎn)介紹核心標(biāo)簽庫(kù)的5中標(biāo)簽庫(kù)1) 表達(dá)式標(biāo)簽:a) 標(biāo)簽:用于將計(jì)算的結(jié)果輸出到JSP頁面中例如:escapeXml屬性值為false時(shí):c:outvalue=escapeXml=false/escapeXml屬性值為true時(shí):c:outvalue=/第一種語法格式:第二種語法格式:name的值為空b) 標(biāo)簽:用于定義和存儲(chǔ)變量c) 標(biāo)簽:可以從指定的JSP圍中移除指定的變量2) 條件標(biāo)簽:(a) 標(biāo)簽:在scope圍,判斷test并將條件的判斷結(jié)果保存在var屬性指定的變量中c:iftest=conditionvar=namescope=page|request|session|application例如:/輸出false請(qǐng)輸入用戶名:(b) 標(biāo)簽,語法:例如:6&hours上午好!1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 心理咨詢師考試適應(yīng)多元文化的策略試題及答案
- 理清育嬰師考試制定的職業(yè)標(biāo)準(zhǔn)試題及答案
- 核舟記 測(cè)試題及答案
- 2025-2030中國(guó)電光源行業(yè)應(yīng)用領(lǐng)域規(guī)模與投資風(fēng)險(xiǎn)預(yù)警研究報(bào)告
- 2025-2030中國(guó)甲板鞋行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 母豬育種技術(shù)發(fā)展與管理知識(shí)考核及答案
- 教師資格考試的個(gè)人發(fā)展與試題及答案
- 2025-2030中國(guó)生活美容行業(yè)市場(chǎng)發(fā)展現(xiàn)狀及發(fā)展趨勢(shì)與投融資研究報(bào)告
- 2025-2030中國(guó)珠寶首飾制造行業(yè)市場(chǎng)深度調(diào)研及投資策略與投資前景預(yù)測(cè)研究報(bào)告
- 心理咨詢師考試的主要干預(yù)理論試題及答案
- 南開一模試題及答案物理
- 茶葉生產(chǎn)關(guān)鍵影響因素與高產(chǎn)栽培技術(shù)研究
- 施工質(zhì)量獎(jiǎng)懲考核實(shí)施細(xì)則
- 人教版五年級(jí)音樂下冊(cè)(簡(jiǎn)譜)第二單元《阿嘍嘍》教學(xué)設(shè)計(jì)
- 2024-2025學(xué)年七年級(jí)數(shù)學(xué)北師大版(2024)下學(xué)期期中考試模擬卷B卷(含解析)
- 杭州2025年浙江杭州余杭區(qū)余杭街道招聘編外勞務(wù)派遣人員25人筆試歷年參考題庫(kù)附帶答案詳解
- 江蘇省2024年中職職教高考文化統(tǒng)考機(jī)電一體化專業(yè)綜合理論真題試卷
- 2025年入團(tuán)考試練習(xí)試題(100題)附答案
- (二模)溫州市2025屆高三第二次適應(yīng)性考試地理試卷(含答案)
- DeepSeek為醫(yī)療健康領(lǐng)域帶來的新機(jī)遇
- JGJ/T235-2011建筑外墻防水工程技術(shù)規(guī)程
評(píng)論
0/150
提交評(píng)論