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