* 分類: 1. page : 配置JSP頁面的 * contentType:等同于response.setContentType() 1. 設(shè)置響應(yīng)體的mime類型以及字符集 2. 設(shè)置當前jsp頁面的編碼(只能是高級的IDE才能生效,如果使用低級工具,則需要設(shè)置pageEncoding屬性設(shè)置當前頁面的字符集)" /> 伊人婷婷色香五月综合缴缴情 ,亚洲热影院,亚洲Av中文无码字幕色本草
首頁技術(shù)文章正文

jsp的使用簡介

更新時間:2018-08-03 來源:黑馬程序員 瀏覽量:

JSP:


        1. 指令


                * 作用:用于配置JSP頁面,導入資源文件


                * 格式:


                        <%@ 指令名稱 屬性名1=屬性值1 屬性名2=屬性值2 ... %>


                * 分類:


                        1. page                : 配置JSP頁面的


                                * contentType:等同于response.setContentType()


                                        1. 設(shè)置響應(yīng)體的mime類型以及字符集


                                        2. 設(shè)置當前jsp頁面的編碼(只能是高級的IDE才能生效,如果使用低級工具,則需要設(shè)置pageEncoding屬性設(shè)置當前頁面的字符集)


                                * import:導包


                                * errorPage:當前頁面發(fā)生異常后,會自動跳轉(zhuǎn)到指定的錯誤頁面


                                * isErrorPage:標識當前也是是否是錯誤頁面。


                                        * true:是,可以使用內(nèi)置對象exception


                                        * false:否。默認值。不可以使用內(nèi)置對象exception




                        2. include        : 頁面包含的。導入頁面的資源文件


                                * <%@include file="top.jsp"%>


                        3. taglib        : 導入資源


                                * <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>


                                        * prefix:前綴,自定義的


        2. 注釋:


                1. html注釋:


                        <!-- -->:只能注釋html代碼片段


                2. jsp注釋:推薦使用


                        <%-- --%>:可以注釋所有




        3. 內(nèi)置對象


                * 在jsp頁面中不需要創(chuàng)建,直接使用的對象


                * 一共有9個:


                                變量名                                        真實類型                                                作用


                        * pageContext                                PageContext                                        當前頁面共享數(shù)據(jù),還可以獲取其他八個內(nèi)置對象


                        * request                                        HttpServletRequest                        一次請求訪問的多個資源(轉(zhuǎn)發(fā))


                        * session                                        HttpSession                                        一次會話的多個請求間


                        * application                                ServletContext                                所有用戶間共享數(shù)據(jù)


                        * response                                        HttpServletResponse                        響應(yīng)對象


                        * page                                                Object                                                當前頁面(Servlet)的對象  this


                        * out                                                JspWriter                                        輸出對象,數(shù)據(jù)輸出到頁面上


                        * config                                        ServletConfig                                Servlet的配置對象


                        * exception                                        Throwable                                        異常對象






## MVC:開發(fā)模式        


        1. jsp演變歷史


                1. 早期只有servlet,只能使用response輸出標簽數(shù)據(jù),非常麻煩


                2. 后來又jsp,簡化了Servlet的開發(fā),如果過度使用jsp,在jsp中即寫大量的java代碼,有寫html表,造成難于維護,難于分工協(xié)作


                3. 再后來,java的web開發(fā),借鑒mvc開發(fā)模式,使得程序的設(shè)計更加合理性



        2. MVC:


                1. M:Model,模型。JavaBean


                        * 完成具體的業(yè)務(wù)操作,如:查詢數(shù)據(jù)庫,封裝對象


                2. V:View,視圖。JSP


                        * 展示數(shù)據(jù)


                3. C:Controller,控制器。Servlet


                        * 獲取用戶的輸入


                        * 調(diào)用模型


                        * 將數(shù)據(jù)交給視圖進行展示




                * 優(yōu)缺點:


                        1. 優(yōu)點:


                                1. 耦合性低,方便維護,可以利于分工協(xié)作


                                2. 重用性高



                        2. 缺點:


                                1. 使得項目架構(gòu)變得復(fù)雜,對開發(fā)人員要求高







## EL表達式


        1. 概念:Expression Language 表達式語言


        2. 作用:替換和簡化jsp頁面中java代碼的編寫


        3. 語法:${表達式}


        4. 注意:


                * jsp默認支持el表達式的。如果要忽略el表達式


                        1. 設(shè)置jsp中page指令中:isELIgnored="true" 忽略當前jsp頁面中所有的el表達式


                        2. \${表達式} :忽略當前這個el表達式




        5. 使用:


                1. 運算:


                        * 運算符:


                                1. 算數(shù)運算符: + - * /(div) %(mod)


                                2. 比較運算符: > < >= <= == !=


                                3. 邏輯運算符: &&(and) ||(or) !(not)


                                4. 空運算符: empty


                                        * 功能:用于判斷字符串、集合、數(shù)組對象是否為null或者長度是否為0


                                        * ${empty list}:判斷字符串、集合、數(shù)組對象是否為null或者長度為0


                                        * ${not empty str}:表示判斷字符串、集合、數(shù)組對象是否不為null 并且 長度>0


                2. 獲取值


                        1. el表達式只能從域?qū)ο笾蝎@取值


                        2. 語法:


                                1. ${域名稱.鍵名}:從指定域中獲取指定鍵的值


                                        * 域名稱:


                                                1. pageScope                --> pageContext


                                                2. requestScope         --> request


                                                3. sessionScope         --> session


                                                4. applicationScope --> application(ServletContext)


                                        * 舉例:在request域中存儲了name=張三


                                        * 獲取:${requestScope.name}



                                2. ${鍵名}:表示依次從最小的域中查找是否有該鍵對應(yīng)的值,直到找到為止。





                                3. 獲取對象、List集合、Map集合的值


                                        1. 對象:${域名稱.鍵名.屬性名}


                                                * 本質(zhì)上會去調(diào)用對象的getter方法



                                        2. List集合:${域名稱.鍵名[索引]}



                                        3. Map集合:


                                                * ${域名稱.鍵名.key名稱}


                                                * ${域名稱.鍵名["key名稱"]}




                3. 隱式對象:


                        * el表達式中有11個隱式對象


                        * pageContext:


                                * 獲取jsp其他八個內(nèi)置對象


                                        * ${pageContext.request.contextPath}:動態(tài)獲取虛擬目錄




## JSTL


        1. 概念:JavaServer Pages Tag Library  JSP標準標簽庫


                * 是由Apache組織提供的開源的免費的jsp標簽                <標簽>



        2. 作用:用于簡化和替換jsp頁面上的java代碼               



        3. 使用步驟:


                1. 導入jstl相關(guān)jar包


                2. 引入標簽庫:taglib指令:  <%@ taglib %>


                3. 使用標簽



        4. 常用的JSTL標簽


                1. if:相當于java代碼的if語句


                        1. 屬性:


                    * test 必須屬性,接受boolean表達式


                        * 如果表達式為true,則顯示if標簽體內(nèi)容,如果為false,則不顯示標簽體內(nèi)容


                        * 一般情況下,test屬性值會結(jié)合el表達式一起使用


                        2. 注意:


                                * c:if標簽沒有else情況,想要else情況,則可以在定義一個c:if標簽


                2. choose:相當于java代碼的switch語句


           1. 使用choose標簽聲明                                 相當于switch聲明


            2. 使用when標簽做判斷                         相當于case


            3. 使用otherwise標簽做其他情況的聲明    相當于default


            3. foreach:相當于java代碼的for語句



作者:黑馬程序員javaEE培訓學院
首發(fā):http://java.itheima.com/

分享到:
在線咨詢 我要報名
和我們在線交談!