版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1
5.1 JSP簡介
5.2 JSP常用內(nèi)部對(duì)象
5.3 寵物分類展現(xiàn)網(wǎng)頁動(dòng)態(tài)版本開發(fā)準(zhǔn)備
5.4 用JSP實(shí)現(xiàn)主頁面Main.jsp
5.5 用JSP實(shí)現(xiàn)品種列表Category.jsp第5章–寵物分類展現(xiàn)模塊的第一個(gè)動(dòng)態(tài)版本的實(shí)現(xiàn)2學(xué)習(xí)目標(biāo)通過本章的學(xué)習(xí),你可以:掌握J(rèn)SP的基本語法
掌握J(rèn)SP的常用內(nèi)部對(duì)象的使用掌握如何使用JSP完成動(dòng)態(tài)頁面完成任務(wù)535.1JSP簡介
5.1.1 什么是JSP
5.1.2 JSP頁面組成
5.1.3 JSP指令
5.1.4 JSP動(dòng)作
45.1.1 什么是JSP
Java服務(wù)器頁面(JavaServerPages,JSP)技術(shù)的簡稱
,一種動(dòng)態(tài)網(wǎng)頁技術(shù)
JSP頁面包含HTML標(biāo)記和Java腳本語言
由靜態(tài)內(nèi)容、指令、表達(dá)式、小腳本(Java代碼)、聲明、標(biāo)準(zhǔn)動(dòng)作、注釋等元素組成55.1.2JSP頁面組成
小腳本:
JSP通過代碼標(biāo)記<%%>在HTML文件中插入Java代碼<%CategoryDAOdao=newCategoryDAO();Categorycategory=dao.getCategory(“FISH”);%>以上為插入的Java腳本從數(shù)據(jù)庫中將FISH分類的信息加載到Category對(duì)象category中65.1.2JSP頁面組成(續(xù))表達(dá)式JSP通過<%=Java表達(dá)式%>在頁面上輸出Java表達(dá)式的值如<%=category.getName()%>輸出表達(dá)式category.getName()的值。75.1.2JSP頁面組成(續(xù))JSP通過使用聲明標(biāo)記“<%!”與“%>”聲明變量和方法,以便JSP頁面的其余部分可以訪問這些變量和方法。聲明變量和方法的語句放在聲明標(biāo)記“<%!”和“%>”之間。
<%!intctrl=0;%><p>現(xiàn)在聲明方法<%!publicStringinfo(){return"hello";}%><%=info()%><%=ctrl++%>其中<%=info()%>調(diào)用表達(dá)式標(biāo)記輸出方法info()的返回值,<%=ctrl++%>用表達(dá)式標(biāo)記輸變量ctrl的值,并將ctrl的值加1。85.1.2JSP頁面組成(續(xù))JSP文檔中有3類注釋標(biāo)記,HTML的注釋:即HTML的“<!--”標(biāo)記和“-->”標(biāo)記,對(duì)JSP文檔的HTML代碼加注釋Java代碼注釋:即使用“//”或“/*”與“*/”組合對(duì)嵌入到JSP的Java代碼加注釋JSP注釋:即使用JSP注釋標(biāo)記“<%--”和“--%>”也可以將放在它們中間的代碼部分標(biāo)記為注釋。在瀏覽器中瀏覽該頁面,并查看頁面源代碼,可以看到HTML的注釋,但Java代碼注釋和JSP注釋無法通過源代碼查看得到的95.1.3
JSP指令
設(shè)置JSP頁面的屬性,在JSP頁面引入其他的文件、導(dǎo)入標(biāo)記庫等的標(biāo)記指令標(biāo)記包括page指令、include指令和taglib指令指令標(biāo)記是通知JSP引擎的消息,它不直接生成輸出指令標(biāo)記都有默認(rèn)值,因此開發(fā)人員無須為每個(gè)指令標(biāo)記設(shè)置值105.1.3
JSP指令
(續(xù))page指令用于為頁面設(shè)置屬性page命令的語法為<%@page屬性="屬性值"%>
教材表5.1列出了常用的可用page指令設(shè)置的屬性教材5.4和5.5將會(huì)用到page指令115.1.3
JSP指令
(續(xù))include指令用來向當(dāng)前頁插入一個(gè)靜態(tài)文件,這個(gè)靜態(tài)文件可以是HTML文件、JSP文件和其他文件語法格式為<%@includefile=“文件URL”%>5.4.3節(jié)將會(huì)用到include指令125.1.3
JSP指令
(續(xù))taglib指令用于在JSP中導(dǎo)入擴(kuò)展的標(biāo)記庫(即非標(biāo)準(zhǔn)的JSP標(biāo)記,可以自己定義),給出擴(kuò)展的標(biāo)記庫的URL并分配標(biāo)記庫的處理程序taglib指令的語法格式為<%@tagliburl=“標(biāo)記庫的URL”prefix=“標(biāo)記庫的前綴”%>第6章將用到taglib指令引入JSTL標(biāo)記(或標(biāo)簽)第7章將用到taglib指令引入struts標(biāo)簽自定義標(biāo)記,需要用Java編寫標(biāo)簽實(shí)現(xiàn)文件,定義標(biāo)簽庫描述文件(通常是.tld文件)并在web.xml中進(jìn)行配置135.1.4JSP動(dòng)作JSP的動(dòng)作標(biāo)記使得JSP可與其他服務(wù)器端組件交互,如使用JavaBean、動(dòng)態(tài)加載Servlet或其他JSP、跳轉(zhuǎn)到Servlet或其他JSP和與Java插件相互作用
7個(gè)動(dòng)作標(biāo)記:使用JavaBean的動(dòng)作標(biāo)記jsp:useBean、jsp:setProperty和jsp:getProperty動(dòng)態(tài)加載動(dòng)作標(biāo)記jsp:include跳轉(zhuǎn)動(dòng)作標(biāo)記jsp:forward傳遞參數(shù)動(dòng)作標(biāo)記jsp:param與Java插件相互作用的標(biāo)記jsp:plugin145.2.JSP常用內(nèi)部對(duì)象
內(nèi)部對(duì)象是JSP頁面可直接使用的預(yù)定義變量
內(nèi)部對(duì)象包括request、out、session
、response、exception、pageContext、application、page和config其中常用內(nèi)部對(duì)象是
request、out、session
155.2.1
request與請(qǐng)求參數(shù)
request是類java.servlet.HttpServletRequest的一個(gè)對(duì)象當(dāng)客戶端請(qǐng)求一個(gè)JSP頁面時(shí),JSP容器會(huì)將請(qǐng)求信息的內(nèi)容包裝在request對(duì)象中通過調(diào)用request的方法可得到請(qǐng)求信息的內(nèi)容請(qǐng)求頭信息系統(tǒng)信息請(qǐng)求的方式請(qǐng)求的參數(shù)名和參數(shù)值等165.2.1
request與請(qǐng)求參數(shù)(續(xù))請(qǐng)求參數(shù)就是追加到URL上的一個(gè)名稱-值對(duì)。參數(shù)以問號(hào)(?)開始并采用name=value形式,參數(shù)之間用(&)符隔開
productid=FI-FW-01
請(qǐng)求頁面是Product.jsp,有2個(gè)參數(shù)catid和productid,值分別是FISH和FI-FW-01。175.2.1
request與請(qǐng)求參數(shù)(續(xù))傳遞請(qǐng)求參數(shù)主要采用以下2種方式在瀏覽器的地址欄中請(qǐng)求頁面的URL后直接追加通過表單域傳遞,參數(shù)值為用戶在對(duì)應(yīng)表單域中錄入的值<Formaction=><inputtype=textname=catid><!--名為catid的文本框--><inputtype=textname=productid><!--名為productid的文本框--><inputtype=submit><!--提交按鈕--></FORM>185.2.1
request與請(qǐng)求參數(shù)(續(xù))調(diào)用request的相關(guān)方法:getParameterNames()得到所有請(qǐng)求參數(shù)的名稱,如catid,productid通過getParameter()和getParameterValues()得到請(qǐng)求參數(shù)值,如“FISH”和“FW-FI-01”195.2.2
outout對(duì)象是類javax.servlet.jsp.jspWriter的一個(gè)對(duì)象jspWriter類提供方法print()和println(),用于產(chǎn)生到瀏覽器的輸出
205.2.3
sessionsession是類javax.servlet.http.HttpSession的一個(gè)對(duì)象session指的是客戶端與服務(wù)器端的一次會(huì)話,會(huì)話從客戶連接到服務(wù)器開始,直到與服務(wù)器斷開連接為止,在這個(gè)期間都可以使用對(duì)應(yīng)這次會(huì)話的session對(duì)象的屬性與方法經(jīng)常用來跟蹤用戶的信息調(diào)用方法setAttribute()將數(shù)據(jù)存儲(chǔ)到會(huì)話中調(diào)用方法getAttribute()方法來訪問會(huì)話中的數(shù)據(jù)
215.3寵物分類展現(xiàn)網(wǎng)頁動(dòng)態(tài)版本開發(fā)準(zhǔn)備
5.3.1 實(shí)現(xiàn)思路
5.3.2 在web.xml中設(shè)置歡迎頁面
225.3.1
實(shí)現(xiàn)思路
在靜態(tài)版本的基礎(chǔ)上進(jìn)行修改通過JSP標(biāo)記在靜態(tài)版本的基礎(chǔ)上增加動(dòng)態(tài)內(nèi)容實(shí)現(xiàn)各頁面的動(dòng)態(tài)版本使用include指令復(fù)用重復(fù)代碼主要是復(fù)用網(wǎng)頁公共頂部IncludeTop.jsp和公共底部IncludeBottom.jsp<%@pagelanguage="java"contentType="text/html;charset=GB2312"%><%@includefile="mon/IncludeTop.jsp"%>Main_body.jsp或Category_body.jsp或Product_body.jsp或Item_body.jsp代碼<%@includefile="mon/IncludeBottom.jsp"%>235.3.1
實(shí)現(xiàn)思路(續(xù))各頁面通過傳遞不同的請(qǐng)求參數(shù)顯示不同的內(nèi)容對(duì)于品種列表頁面來說,如果知道分類編號(hào)catid,則可以通過分類編號(hào)查詢數(shù)據(jù)庫獲得該分類品種列表頁面所需要的所有數(shù)據(jù)通過為品種列表頁面Category.jsp傳遞分類編號(hào),來顯示不同分類的品種列表,如Category.jsp?catid=FISH表示顯示魚類的品種信息,Category.jsp?catid=CATS表示顯示貓類的品種信息商品列表頁面和寵物詳細(xì)信息頁面類似處理245.3.2在web.xml中設(shè)置歡迎頁面
歡迎頁面,就是web應(yīng)用的默認(rèn)訪問頁面,在Web應(yīng)用項(xiàng)目的配置文件web.xml中設(shè)置<!--配置歡迎文件--> <e-file-list> <e-file>index.jsp<e-file> <e-file-list>
在mypetstore項(xiàng)目的web.xml文件中增加上述配置信息,可以將WebContent下的index.jsp設(shè)置為歡迎頁面。如果在瀏覽器的地址欄中只輸入就可打開該頁面255.3.2在web.xml中設(shè)置歡迎頁面(續(xù))index.jsp代碼如下:<%@pagecontentType="text/html;charset=GB2312"%><linkrel="StyleSheet"href="css/jpetstore.css"type="text/css"media="screen"/><divid="Content"><h2>歡迎來到寵物商城</h2><p><ahref="catalog/Main.jsp">進(jìn)入寵物商城</a></p><p><sub>源自開元項(xiàng)目JPetstore</sub></p><!--<sub></sub>標(biāo)記說明內(nèi)含文本要以下標(biāo)的形式顯示,比當(dāng)前字體稍小--></div>265.4用JSP實(shí)現(xiàn)主頁面Main.jsp
5.4.1 由IncludeTop.html得到其動(dòng)態(tài)版本IncludeTop.jsp
5.4.2 由IncludeBottom.html得到其動(dòng)態(tài)版本IncludeBottom.jsp
5.4.3 由Main_body.html得到主頁面Main.jsp275.4.1 由IncludeTop.html得到其動(dòng)態(tài)版本IncludeTop.jsp在文件頭添加<%@pagelanguage=“java”contentType=“text/html;charset=GB2312”>language屬性設(shè)置頁面所用的語言是javacontentType屬性設(shè)置JSP頁面的MIME類型中文的JSP頁面該屬性都需要設(shè)置成“text/html;charset=GB2312”,才能正常顯示
將HTML文件更名為jsp文件修改logo層主頁面鏈接文件名為Main.jsp修改QuickLinks層各分類圖片鏈接的href屬性285.4.2 由IncludeBottom.html得到其動(dòng)態(tài)版本IncludeBottom.jsp直接將IncludeBottom.html的代碼復(fù)制給IncludeBottom.jsp295.4.3 由Main_body.html得到主頁面Main.jsp
文件頭增加<%@pagelanguage="java"contentType="text/html;charset=GB2312"%>使用JSP的include指令將IncludeTop.jsp、IncludeBottom.jsp包含進(jìn)來構(gòu)成完整的網(wǎng)頁品種列表的實(shí)現(xiàn)使用同一個(gè)文件Category.jsp,不同的分類,傳遞不同catid值305.5用JSP實(shí)現(xiàn)品種列表Category.jsp
通過page指令的import屬性導(dǎo)入類<%@pageimport="java.util.ArrayList"%><%@pageimport="com.sziit.petstore.
溫馨提示
- 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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年中國刮板式除屑輸送機(jī)市場調(diào)查研究報(bào)告
- 2024年中國側(cè)雙刃平板模切中硬刀市場調(diào)查研究報(bào)告
- 2024年中國U扣龍骨市場調(diào)查研究報(bào)告
- 2025至2030年中國男裝真皮手袋行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2030年中國塑膠面便簽本行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2030年中國全自動(dòng)電腦仿形線條機(jī)行業(yè)投資前景及策略咨詢研究報(bào)告
- 2024年中國蠟式節(jié)溫器市場調(diào)查研究報(bào)告
- 2024年中國應(yīng)急消防燈市場調(diào)查研究報(bào)告
- 2024至2030年電鍍污泥烘干機(jī)項(xiàng)目投資價(jià)值分析報(bào)告
- 2024至2030年食品折盒項(xiàng)目投資價(jià)值分析報(bào)告
- TCIIA 020-2022 科學(xué)數(shù)據(jù) 安全傳輸技術(shù)要求
- 2023-2024學(xué)年湖南省懷化市小學(xué)數(shù)學(xué)五年級(jí)上冊(cè)期末深度自測試卷
- GB 7101-2022食品安全國家標(biāo)準(zhǔn)飲料
- 經(jīng)濟(jì)思想史 全套講義
- 《第六課 從傳統(tǒng)到現(xiàn)代課件》高中美術(shù)湘美版美術(shù)鑒賞
- 華能萊蕪電廠1000MW汽輪機(jī)圖片
- Unit 3 On the move Understanding ideas(Running into a better life)課件- 高一上學(xué)期英語外研版(2019)必修第二冊(cè)
- 立法學(xué)講義教案
- 江蘇省鎮(zhèn)江市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會(huì)明細(xì)
- 化療后骨髓抑制的觀察及護(hù)理考核試題與答案
- 棚洞工程施工組織設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論