1.jsp概述
JSP全稱(chēng)是Java Server Pages芜壁,它和servle技術(shù)一樣,都是SUN公司定義的一種用于開(kāi)發(fā)動(dòng)態(tài)web資源的技術(shù)。JSP實(shí)際上就是Servlet沿盅。
原理:
Servlet:控制器把篓。重點(diǎn)編寫(xiě)java代碼邏輯 (獲取表單數(shù)據(jù)纫溃、處理業(yè)務(wù)邏輯腰涧、分發(fā)轉(zhuǎn)向)
JSP:代碼顯示模板。重點(diǎn)在于顯示數(shù)據(jù)
2.jsp的6個(gè)動(dòng)作
使用標(biāo)簽的形式來(lái)表示一段java代碼紊浩。
如: <jsp:include page="2.jsp"></jsp:include>
<jsp:include > 動(dòng)態(tài)包含
<jsp:forward> 請(qǐng)求轉(zhuǎn)發(fā)
<jsp:param> 設(shè)置請(qǐng)求參數(shù)
<jsp:useBean> 創(chuàng)建一個(gè)對(duì)象
<jsp:setProperty> 給指定的對(duì)象屬性賦值
<jsp:getProperty> 取出指定對(duì)象的屬性值
3.jsp的9個(gè)內(nèi)置對(duì)象
指在JSP的<%=%> 和<% %>中Java代碼中可以直接使用的對(duì)象
pageContext(重要)
1)窖铡、本身也是一個(gè)域?qū)ο螅核梢圆僮髌渌齻€(gè)域?qū)ο螅╮equest session application)的數(shù)據(jù)
void setAttribute(String name,Object o);
Object getAttribute(String name);
void removeAttribute(String name);
操作其它域?qū)ο蟮姆椒?br>
void setAttribute(String name,Object o,int Scope);
Object getAttribute(String name,int Scope);
void removeAttribute(String name,int Scope);
scpoe的值:
PageContext.PAGE_SCOPE
PageContext.REQUEST_SCOPE
PageContext.SESSION_SCOPE
PageContext.APPLICATION_SCOPE
findAttribute(String name); 自動(dòng)從page request session application依次查找坊谁,找到了就取值费彼,結(jié)束查找。
2)口芍、它可以創(chuàng)建其它的8個(gè)隱式對(duì)象
在普通類(lèi)中可以通過(guò)PageContext獲取其他JSP隱式對(duì)象箍铲。自定義標(biāo)簽時(shí)就使用。
3)鬓椭、提供了的簡(jiǎn)易方法
pageContext.forward("2.jsp");
pageContext.include("2.jsp");
4.四大域?qū)ο螅簩?shí)際開(kāi)發(fā)
PageContext : pageConext 存放的數(shù)據(jù)在當(dāng)前頁(yè)面有效颠猴。開(kāi)發(fā)時(shí)使用較少。
ServletRequest: request 存放的數(shù)據(jù)在一次請(qǐng)求(轉(zhuǎn)發(fā))內(nèi)有效小染。使用非常多翘瓮。
HttpSession: session 存放的數(shù)據(jù)在一次會(huì)話中有效。使用的比較多裤翩。如:存放用戶的登錄信息资盅,購(gòu)物車(chē)功能。
ServletContext: application 存放的數(shù)據(jù)在整個(gè)應(yīng)用范圍內(nèi)都有效踊赠。因?yàn)榉秶蠛强福瑧?yīng)盡量少用。
5.MVC 開(kāi)發(fā)模式
MVC:開(kāi)發(fā)模式
M: Model模型 JavaBean|四種作用域--數(shù)據(jù)表現(xiàn)層
V:view視圖 JSP
C:Controller控制器 Servlet
分層思想:強(qiáng)內(nèi)聚筐带、弱耦合