什么是Jsp
1.什么是jsp
java server page(java 服務(wù)器端頁面技術(shù)),是 sun 公司制訂的一種服務(wù)器端動態(tài)頁面生成技術(shù)的規(guī)范。
因?yàn)橹苯邮褂?servlet 生成頁面,如果頁面比較復(fù)雜,則代碼過于繁瑣,并且難以維護(hù),所以對于比較復(fù)雜的頁面,使用 jsp 來編寫,更容易編寫和維護(hù)。
2.如何寫一個 jsp 文件
寫一個以.jsp 為后綴的文件,然后,在該文件當(dāng)中,添加 html 和 java 代碼。編寫完成之后,不需要編譯,當(dāng)客戶端請求訪問某個.jsp 文件,則服務(wù)器會自動將.jsp 文件轉(zhuǎn)換成一個.java 文件(該.java 文件其實(shí)是一個 servlet)。
3.jsp 文件的組成 **
a. html(包括 css、javascript)
直接寫在.jsp 文件里即可
b. java 代碼
第一種形式: java 代碼片斷
語法: <% java 代碼 %>
第二種形式: jsp 表達(dá)式
語法: <%= java 表達(dá)式%>
c. 指令
所謂指令,就是告訴 jsp 引擎(容器當(dāng)中,負(fù)責(zé)將.jsp 文件轉(zhuǎn)換成.java 文件,并在運(yùn)行時,為 jsp 提供一些 輔助支持的模塊),在將.jsp 文件轉(zhuǎn)換成.java 文件時,做一些額外的處理。
語法: <%@ 指令名 屬性名=屬性值%>
page 指令
##常用指令共 3 個,今天了解并掌握 page 指令##
> import 屬性:
用于導(dǎo)包。
比如<%@page import="java.util.*,java.text.*"%>
> contentType 屬性:
等價于 response.setContentType();
> pageEncoding 屬性:
告訴 jsp 引擎,.jsp 文件保存時的編碼。
d. 隱含對象
所謂隱含對象,指的是在.jsp 文件當(dāng)中,不用聲明和創(chuàng)建該對象,就可以直接使用的對象。原因是,.jsp 文件對應(yīng)的.java 文件當(dāng)中,已經(jīng)自動生成了該對象的代碼。
? out
? request
? response
4.jsp 文件如何轉(zhuǎn)換成.java 文件 *
>html 轉(zhuǎn)換為 jsp
放到 service()方法里,使用 out.write()輸出。
> java 代碼片斷
放到 service()方法里,照搬
*************************************
1.轉(zhuǎn)發(fā)
1) 什么是轉(zhuǎn)發(fā)?
一個 web 組件(jsp/servlet)將未完成的處理轉(zhuǎn)交給另一個 web 組件繼續(xù)處理。轉(zhuǎn)發(fā)的各組件會共享 request 和 response 對象。
2) 如何轉(zhuǎn)發(fā)?
step1
先綁訂數(shù)據(jù)
request.setAttribute(String name,Object obj);
跟綁訂相關(guān)的另外兩個方法
//如果 name 對應(yīng)的值不存在,返回 null。
Object request.getAttribute(String name);
request.removeAttribute(String name);
step2
獲得轉(zhuǎn)發(fā)器,轉(zhuǎn)發(fā)
RequestDispatcher rd = request.getRequestDispatcher(String uri);
rd.forward(request,response);
或
RequestDispatcher rd =request.getRequestDispatcher(String uri).rd.forward(request,response);
3) 編程中要注意的問題
轉(zhuǎn)發(fā)之前,不能夠執(zhí)行 out.close 戒者 out.flush。
轉(zhuǎn)發(fā)之前,會將 response 中緩存的數(shù)據(jù)先清空。
4) 轉(zhuǎn)發(fā)的特點(diǎn)
a. 轉(zhuǎn)發(fā)的目的地只能是同一個應(yīng)用內(nèi)部的某個組件
b. 轉(zhuǎn)發(fā)之后,瀏覽器地址欄的地址沒有變化
c. 轉(zhuǎn)發(fā)所涉及的各個組件可以共享同一個 request,response 對象
走在一起是緣分,在一起走是幸福;
在一起走是緣分,走在一起是幸福
總結(jié)
- 上一篇: 梵山桌子的清洗有什么讲究吗?
- 下一篇: qt学习