當(dāng)前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
ELJSTL笔记
今日內(nèi)容
1. JSP:1. 指令2. 注釋3. 內(nèi)置對象2. MVC開發(fā)模式 3. EL表達式 4. JSTL標(biāo)簽 5. 三層架構(gòu)JSP:
1. 指令* 作用:用于配置JSP頁面,導(dǎo)入資源文件* 格式:<%@ 指令名稱 屬性名1=屬性值1 屬性名2=屬性值2 ... %>* 分類:1. page : 配置JSP頁面的* contentType:等同于response.setContentType()1. 設(shè)置響應(yīng)體的mime類型以及字符集2. 設(shè)置當(dāng)前jsp頁面的編碼(只能是高級的IDE才能生效,如果使用低級工具,則需要設(shè)置pageEncoding屬性設(shè)置當(dāng)前頁面的字符集)* import:導(dǎo)包* errorPage:當(dāng)前頁面發(fā)生異常后,會自動跳轉(zhuǎn)到指定的錯誤頁面* isErrorPage:標(biāo)識當(dāng)前也是是否是錯誤頁面。* true:是,可以使用內(nèi)置對象exception* false:否。默認值。不可以使用內(nèi)置對象exception2. include : 頁面包含的。導(dǎo)入頁面的資源文件* <%@include file="top.jsp"%>3. taglib : 導(dǎo)入資源* <%@ 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 當(dāng)前頁面共享數(shù)據(jù),還可以獲取其他八個內(nèi)置對象* request HttpServletRequest 一次請求訪問的多個資源(轉(zhuǎn)發(fā))* session HttpSession 一次會話的多個請求間* application ServletContext 所有用戶間共享數(shù)據(jù)* response HttpServletResponse 響應(yīng)對象* page Object 當(dāng)前頁面(Servlet)的對象 this* out JspWriter 輸出對象,數(shù)據(jù)輸出到頁面上* config ServletConfig Servlet的配置對象* exception Throwable 異常對象MVC:開發(fā)模式
1. jsp演變歷史1. 早期只有servlet,只能使用response輸出標(biāo)簽數(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" 忽略當(dāng)前jsp頁面中所有的el表達式2. \${表達式} :忽略當(dāng)前這個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 并且 長度>02. 獲取值1. el表達式只能從域?qū)ο笾蝎@取值2. 語法:1. ${域名稱.鍵名}:從指定域中獲取指定鍵的值* 域名稱:1. pageScope --> pageContext2. requestScope --> request3. sessionScope --> session4. 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標(biāo)準(zhǔn)標(biāo)簽庫* 是由Apache組織提供的開源的免費的jsp標(biāo)簽 <標(biāo)簽>2. 作用:用于簡化和替換jsp頁面上的java代碼 3. 使用步驟:1. 導(dǎo)入jstl相關(guān)jar包2. 引入標(biāo)簽庫:taglib指令: <%@ taglib %>3. 使用標(biāo)簽4. 常用的JSTL標(biāo)簽1. if:相當(dāng)于java代碼的if語句1. 屬性:* test 必須屬性,接受boolean表達式* 如果表達式為true,則顯示if標(biāo)簽體內(nèi)容,如果為false,則不顯示標(biāo)簽體內(nèi)容* 一般情況下,test屬性值會結(jié)合el表達式一起使用2. 注意:* c:if標(biāo)簽沒有else情況,想要else情況,則可以在定義一個c:if標(biāo)簽2. choose:相當(dāng)于java代碼的switch語句1. 使用choose標(biāo)簽聲明 相當(dāng)于switch聲明2. 使用when標(biāo)簽做判斷 相當(dāng)于case3. 使用otherwise標(biāo)簽做其他情況的聲明 相當(dāng)于default3. foreach:相當(dāng)于java代碼的for語句5. 練習(xí):* 需求:在request域中有一個存有User對象的List集合。需要使用jstl+el將list集合數(shù)據(jù)展示到j(luò)sp頁面的表格table中三層架構(gòu):軟件設(shè)計架構(gòu)
1. 界面層(表示層):用戶看的得界面。用戶可以通過界面上的組件和服務(wù)器進行交互 2. 業(yè)務(wù)邏輯層:處理業(yè)務(wù)邏輯的。 3. 數(shù)據(jù)訪問層:操作數(shù)據(jù)存儲文件。案例:用戶信息列表展示
1. 需求:用戶信息的增刪改查操作 2. 設(shè)計:1. 技術(shù)選型:Servlet+JSP+MySQL+JDBCTempleat+Duird+BeanUtilS+tomcat2. 數(shù)據(jù)庫設(shè)計:create database day17; -- 創(chuàng)建數(shù)據(jù)庫use day17; -- 使用數(shù)據(jù)庫create table user( -- 創(chuàng)建表id int primary key auto_increment,name varchar(20) not null,gender varchar(5),age int,address varchar(32),qq varchar(20),email varchar(50));3. 開發(fā):1. 環(huán)境搭建1. 創(chuàng)建數(shù)據(jù)庫環(huán)境2. 創(chuàng)建項目,導(dǎo)入需要的jar包2. 編碼4. 測試 5. 部署運維總結(jié)
- 上一篇: TomcatServlet笔记
- 下一篇: JavaScript实现单词首字母大写的