J2EE企業(yè)級開(kāi)發(fā)學(xué)習筆記(8)
JSP技術(shù)
2、模型1與模型2結構:
3、JSP:模板數據(靜態(tài)部分HTML/XML)+JSP元素(動(dòng)態(tài)部分:可通過(guò)JSP編譯器和編譯進(jìn)Servlet)。
· jsp:forward: 執行頁(yè)面轉向,將請求的處理轉發(fā)到下一個(gè)頁(yè)面。
· jsp:param: 用于傳遞參數,必須與其他支持參數的標簽一起使用。
· jsp:include: 用于動(dòng)態(tài)引入一個(gè)JSP 頁(yè)面。
· jsp:p1ugin: 用于下載JavaBean 或Applet到客戶(hù)端執行。
· jsp:useBean: 使用JavaBean 。
· jsp:setProperty: 修改JavaBean 實(shí)例的屬性值。
· jsp:getProperty: 獲取JavaBean 實(shí)例的屬性值。
4、JSP隱式訪(fǎng)問(wèn)對象:request(請求)、response(響應)、pageContext(上下文)、session(會(huì )話(huà))、application(應用)、out(輸出)、config(配置)、page(頁(yè)面=this)、exception(異常)
5、標記庫:降低復雜性。為開(kāi)發(fā)人員提供簡(jiǎn)單且易于使用的自定義標記,可以被用來(lái)調用復雜的邏輯。
6、JSP建模:<<ClientPage>>表示JSP在客戶(hù)端的行為,即JSP外部可見(jiàn)的顯示部分??蛻?hù)頁(yè)面與客戶(hù)端資源有聯(lián)系;<<ServerPage>>表示JSP在服務(wù)器端的行為,主要關(guān)注與處理請求和提供響應有聯(lián)系的內部邏輯。服務(wù)器端頁(yè)面與其他服務(wù)器資源有聯(lián)系(外部系統、系統中數據庫和控制器等)
<<Build>>表示客戶(hù)端頁(yè)面與服務(wù)器端頁(yè)面之間的關(guān)系。當服務(wù)器端頁(yè)面創(chuàng )建了客戶(hù)端頁(yè)面時(shí),產(chǎn)生的結果是發(fā)送到發(fā)出請求的瀏覽器HTML或XML流。
<<Include>>、<<Forward>>表示服務(wù)器頁(yè)面與其他服務(wù)器頁(yè)面之間的一種關(guān)聯(lián)關(guān)系
<<Use Bean>>表示頁(yè)面可能訪(fǎng)問(wèn)或使用JavaBeans
<<Link>>表示客戶(hù)端頁(yè)面與其他客戶(hù)端頁(yè)面可能具有引入或輸出的關(guān)系
<<Submit>>表示表單提交的輸出關(guān)系
7、企業(yè)級應用中的JSP:
ListTransacts.jsp使用與設置TransactInfo Bean關(guān)聯(lián)的代碼:
8、與JavaBean相關(guān)的3個(gè)指令:useBean、setProperty、getProperty
useBean語(yǔ)法格式:<jsp:useBean id="name" class="classname" scope="page|request|session|application"/>
setProperty語(yǔ)法格式:<jsp:setProperty name="BeanName" property="propertyName" value="value"/>
getProperty語(yǔ)法格式:<jsp:getProperty name="BeanName" property="propertyName"/>
9、plugin指令:主要用于下載服務(wù)器端的JavaBean 或Applet 到客戶(hù)端執行。由于程序在客戶(hù)端執行,因此客戶(hù)端必須安裝虛擬機。
plugin 的語(yǔ)法格式如下:
<jsp:plugin type=bean
code="classFileName"
codebase="classFileDiretoryName"
[name=" instanceName"]
[archive="URLtoArchive"]
talign= "bottom
[heigh="displayPixels"]
[width="displayPixels"]
[hspace="leftRightPixels"]
[vspace="topBottomPiexels"]
[jreversion=JREVersionNumber11.2"]
[nspluginurl="URLToPlugin"]
[iepluginurl="URLToPlugin"]>
[<jsp:parames>
[jsp:param name="parameterName" value="parameterValue"I>]
</jsp:params>]
[<jsp:fallback>text message for user that can no see the plugin
</jsp:fallback> ]
</jsp:plugin>
10、application使用context-param元素配置,并從web.xml 文件中獲取參數。在web.xml文件中增加如下片段:
<!-- 配置第一個(gè)參數: driver-->
<context-param>
<param-name>driver</param-name>
<param-value>com.mysql.jdbc.Driver</param-value>
</context-param>
<!一配置第二個(gè)參數: url-->
<context-param>
<param-name>url</param-name>
<param-value>jdbc:mysql://localhost:3306/j2ee</param-value>
</context-param>
<!一配置第三個(gè)參數: user-->
<context-param>
<param-name>user</param-name>
<param-value>root</param-value>
</context-param>
<!一配置第四個(gè)參數: pass-->
<context-param>
<param-name>pass</param-name>
<param-value>32l47</param-value>
</context-param>
=================================
//從配置參數中獲取驅動(dòng)
String driver = application. getInitParameter ("driver") ;
//從配置參數中獲取數據庫url
String url = application.getInitParameter("url");
II從配置參數中獲取用戶(hù)名
String user = application.getInitParameter("user");
//從配置參數中獲取密碼
String pass = application.getInitParameter("pass");
//注冊驅動(dòng)
Class.forName(driver);
//獲取數據庫連接
Connection conn = DriverManager.getConnection(url , user , pass);
//創(chuàng )建Statement 對象
Statement stmt = conn.createStatement();
//執行查詢(xún)
ResultSet rs = stmt.executeQuery("select * from userinf");
...
11、pageContext屬性生存范圍:
12、request內置對象3種用途:封裝表單域值(request.getParameter(s)("name"))、封裝地址欄參數(地址欄傳遞參數的格式是urI?paraml=va1ue1&p缸am2=value2&…)、封裝請求的屬性(request.setAttribute(String attName,Object attValue)\getAttribute(String attName))
13、response內置對象3種用途:可以響應生成圖片,而out無(wú)法做到;重定向請求;向客戶(hù)端增加Cookie
客戶(hù)端增加Cookie三部曲:創(chuàng )建Cookie實(shí)例(Cookie cookie =new Cookie("username",name))-> 設置Cookie生命期限(cookie.setMaxAge(24*3600);//表示一天) -> 向客戶(hù)端增加Cookie對象以一定期限保存客戶(hù)信息(response.addCookie(cookie))
聯(lián)系客服