版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1
5.1 JSP簡介
5.2 JSP常用內(nèi)部對象
5.3 寵物分類展現(xiàn)網(wǎ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)模塊的第一個動態(tài)版本的實(shí)現(xiàn)2學(xué)習(xí)目標(biāo)通過本章的學(xué)習(xí),你可以:掌握J(rèn)SP的基本語法
掌握J(rèn)SP的常用內(nèi)部對象的使用掌握如何使用JSP完成動態(tài)頁面完成任務(wù)535.1JSP簡介
5.1.1 什么是JSP
5.1.2 JSP頁面組成
5.1.3 JSP指令
5.1.4 JSP動作
45.1.1 什么是JSP
Java服務(wù)器頁面(JavaServerPages,JSP)技術(shù)的簡稱
,一種動態(tài)網(wǎng)頁技術(shù)
JSP頁面包含HTML標(biāo)記和Java腳本語言
由靜態(tài)內(nèi)容、指令、表達(dá)式、小腳本(Java代碼)、聲明、標(biāo)準(zhǔn)動作、注釋等元素組成55.1.2JSP頁面組成
小腳本:
JSP通過代碼標(biāo)記<%%>在HTML文件中插入Java代碼<%CategoryDAOdao=newCategoryDAO();Categorycategory=dao.getCategory(“FISH”);%>以上為插入的Java腳本從數(shù)據(jù)庫中將FISH分類的信息加載到Category對象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)記,對JSP文檔的HTML代碼加注釋Java代碼注釋:即使用“//”或“/*”與“*/”組合對嵌入到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ā)人員無須為每個指令標(biāo)記設(shè)置值105.1.3
JSP指令
(續(xù))page指令用于為頁面設(shè)置屬性page命令的語法為<%@page屬性="屬性值"%>
教材表5.1列出了常用的可用page指令設(shè)置的屬性教材5.4和5.5將會用到page指令115.1.3
JSP指令
(續(xù))include指令用來向當(dāng)前頁插入一個靜態(tài)文件,這個靜態(tài)文件可以是HTML文件、JSP文件和其他文件語法格式為<%@includefile=“文件URL”%>5.4.3節(jié)將會用到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動作JSP的動作標(biāo)記使得JSP可與其他服務(wù)器端組件交互,如使用JavaBean、動態(tài)加載Servlet或其他JSP、跳轉(zhuǎn)到Servlet或其他JSP和與Java插件相互作用
7個動作標(biāo)記:使用JavaBean的動作標(biāo)記jsp:useBean、jsp:setProperty和jsp:getProperty動態(tài)加載動作標(biāo)記jsp:include跳轉(zhuǎn)動作標(biāo)記jsp:forward傳遞參數(shù)動作標(biāo)記jsp:param與Java插件相互作用的標(biāo)記jsp:plugin145.2.JSP常用內(nèi)部對象
內(nèi)部對象是JSP頁面可直接使用的預(yù)定義變量
內(nèi)部對象包括request、out、session
、response、exception、pageContext、application、page和config其中常用內(nèi)部對象是
request、out、session
155.2.1
request與請求參數(shù)
request是類java.servlet.HttpServletRequest的一個對象當(dāng)客戶端請求一個JSP頁面時,JSP容器會將請求信息的內(nèi)容包裝在request對象中通過調(diào)用request的方法可得到請求信息的內(nèi)容請求頭信息系統(tǒng)信息請求的方式請求的參數(shù)名和參數(shù)值等165.2.1
request與請求參數(shù)(續(xù))請求參數(shù)就是追加到URL上的一個名稱-值對。參數(shù)以問號(?)開始并采用name=value形式,參數(shù)之間用(&)符隔開
productid=FI-FW-01
請求頁面是Product.jsp,有2個參數(shù)catid和productid,值分別是FISH和FI-FW-01。175.2.1
request與請求參數(shù)(續(xù))傳遞請求參數(shù)主要采用以下2種方式在瀏覽器的地址欄中請求頁面的URL后直接追加通過表單域傳遞,參數(shù)值為用戶在對應(yīng)表單域中錄入的值<Formaction=><inputtype=textname=catid><!--名為catid的文本框--><inputtype=textname=productid><!--名為productid的文本框--><inputtype=submit><!--提交按鈕--></FORM>185.2.1
request與請求參數(shù)(續(xù))調(diào)用request的相關(guān)方法:getParameterNames()得到所有請求參數(shù)的名稱,如catid,productid通過getParameter()和getParameterValues()得到請求參數(shù)值,如“FISH”和“FW-FI-01”195.2.2
outout對象是類javax.servlet.jsp.jspWriter的一個對象jspWriter類提供方法print()和println(),用于產(chǎn)生到瀏覽器的輸出
205.2.3
sessionsession是類javax.servlet.http.HttpSession的一個對象session指的是客戶端與服務(wù)器端的一次會話,會話從客戶連接到服務(wù)器開始,直到與服務(wù)器斷開連接為止,在這個期間都可以使用對應(yīng)這次會話的session對象的屬性與方法經(jīng)常用來跟蹤用戶的信息調(diào)用方法setAttribute()將數(shù)據(jù)存儲到會話中調(diào)用方法getAttribute()方法來訪問會話中的數(shù)據(jù)
215.3寵物分類展現(xiàn)網(wǎ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ǔ)上增加動態(tài)內(nèi)容實(shí)現(xiàn)各頁面的動態(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ù))各頁面通過傳遞不同的請求參數(shù)顯示不同的內(nèi)容對于品種列表頁面來說,如果知道分類編號catid,則可以通過分類編號查詢數(shù)據(jù)庫獲得該分類品種列表頁面所需要的所有數(shù)據(jù)通過為品種列表頁面Category.jsp傳遞分類編號,來顯示不同分類的品種列表,如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得到其動態(tài)版本IncludeTop.jsp
5.4.2 由IncludeBottom.html得到其動態(tài)版本IncludeBottom.jsp
5.4.3 由Main_body.html得到主頁面Main.jsp275.4.1 由IncludeTop.html得到其動態(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得到其動態(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)使用同一個文件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等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025園林綠化合同
- 2025建設(shè)工程施工合同(VIII)
- 2025企業(yè)代培訓(xùn)合同范文
- 2025合同模板健身俱樂部會員入會協(xié)議 范本
- 沙盤模型制作合同
- 醫(yī)療科技在小兒發(fā)熱治療中的應(yīng)用
- 課題申報參考:馬克思隱喻敘事的唯物史觀原理研究
- 課題申報參考:禮俗互動視域下明清江南婚嫁刺繡裝飾研究
- 課題申報參考:科學(xué)教育教學(xué)體系研究
- 綠色能源在校園電力供應(yīng)中的應(yīng)用與展望
- 2024年蘇州工業(yè)園區(qū)服務(wù)外包職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測試歷年參考題庫含答案解析
- 人教版初中語文2022-2024年三年中考真題匯編-學(xué)生版-專題08 古詩詞名篇名句默寫
- 2024-2025學(xué)年人教版(2024)七年級(上)數(shù)學(xué)寒假作業(yè)(十二)
- 山西粵電能源有限公司招聘筆試沖刺題2025
- ESG表現(xiàn)對企業(yè)財務(wù)績效的影響研究
- 旅游活動碳排放管理評價指標(biāo)體系構(gòu)建及實(shí)證研究
- 2022年全國職業(yè)院校技能大賽-電氣安裝與維修賽項(xiàng)規(guī)程
- 小學(xué)德育養(yǎng)成教育工作分層實(shí)施方案
- 2024年湖南高速鐵路職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫附答案
- 2024年4月浙江省00015英語二試題及答案含評分參考
- 黑枸杞生物原液應(yīng)用及產(chǎn)業(yè)化項(xiàng)目可行性研究報告
評論
0/150
提交評論