JSP端服務器端頁面技術

JSP端服務器端頁面技術

JSP:Java Server Pages Java服務器頁面,發(fā)布的項目翻譯到work目錄中

JSP技術的發(fā)展

jsp腳本:

1、<%java代碼%> ----- 內(nèi)部的java代碼翻譯到service方法的內(nèi)部

2、<%=java變量或表達式> ----- 會被翻譯成service方法內(nèi)部out.print()

3、<%!java代碼%> ---- 會被翻譯成servlet的成員的內(nèi)容

jsp注釋:? 不同的注釋可見范圍是不同

1、Html注釋:<!--注釋內(nèi)容--> ---可見范圍 jsp源碼、翻譯后的servlet、頁面顯示html源碼

2、java注釋://單行注釋? /*多行注釋*/ --可見范圍 jsp源碼 翻譯后的servlet

3、jsp注釋:<%--注釋內(nèi)容--%> ----- 可見范圍 jsp源碼可見

JSP執(zhí)行原理(本質是servlet)

jsp第一次訪問的時候,會被WEB容器翻譯成servlet,否則在work中查詢對應的.java文件

第一次訪問-->helloServlet.jsp-->helloServlet_jsp.java--->編譯運行

.jsp的訪問通過web.xml配置訪問到org.apache.jasper.servlet.JspServlet


JSP指令

指導jsp翻譯和運行的命令,jsp包括三大指令:

1、page指令 --- 屬性最多的指令(實際開發(fā)中page指令默認)

屬性最多的一個指令,根據(jù)不同的屬性,指導整個頁面特性

格式:<%@ page 屬性名1= "屬性值1" 屬性名2= "屬性值2" ...%>

常用屬性如下:

1、language:jsp腳本中可以嵌入的語言種類

2、pageEncoding:當前jsp文件的本身編碼---內(nèi)部可以包含contentType

3、contentType:response.setContentType(text/html;charset=UTF-8)

4、session:是否jsp在翻譯時自動創(chuàng)建session

5、import:導入java的包

6、errorPage:當前頁面出錯后跳轉到哪個頁面

7、isErrorPage:當前頁面是一個處理錯誤的頁面

2、include指令

頁面包含(靜態(tài)包含)指令,可以將一個jsp頁面包含到另一個jsp頁面中,便于后期的維護。

格式:<%@ include file="被包含的文件地址"%>

include的使用圖例

3、taglib指令

在jsp頁面中引入標簽庫(jstl標簽庫、struts2標簽庫)

格式:<%@ taglib uri="標簽庫地址" prefix="前綴"%>


使用page執(zhí)行JSP編碼問題

1、pageEncoding:當前jsp文件的本身編碼---內(nèi)部可以包含contentType

2、contentType:response.setContentType(text/html;charset=UTF-8)

使用page執(zhí)行導入JSP使用的類

1、import:導入java的包


列舉JSP內(nèi)置對象

名稱 類型 描述

out javax.servlet.jsp.JspWriter 用于頁面輸出

request javax.servlet.http.HttpServletRequest 得到用戶請求信息,

response javax.servlet.http.HttpServletResponse 服務器向客戶端的回應信息

config javax.servlet.ServletConfig 服務器配置,可以取得初始化參數(shù)

session javax.servlet.http.HttpSession 用來保存用戶的信息

application javax.servlet.ServletContext 所有用戶的共享信息

page java.lang.Object 指當前頁面轉換后的Servlet類的實例

pageContext javax.servlet.jsp.PageContext JSP的頁面容器

exception java.lang.Throwable 表示JSP頁面所發(fā)生的異常,在錯誤頁中才起作用,只有isErrorPage存在

1、out對象

out的類型:JspWriter

out作用就是想客戶端輸出內(nèi)容----out.write()

out緩沖區(qū)默認8kb 可以設置成0 代表關閉out緩沖區(qū) 內(nèi)容直接寫到respons緩沖器

最終返回到response緩沖區(qū)中,將out對象刷新到response緩沖區(qū)中。

OUT對象的緩沖刷新

2、pageContext對象

jsp頁面的上下文對象,作用如下:

page對象與pageContext對象不是一回事

1、pageContext是一個域對象

setAttribute(String name, Object obj)

getAttribute(String name)

removeAttrbute(String name)

2、pageContext可以向指定的其他域中存取數(shù)據(jù)(維護其他域對象)

setAttribute(String name, Object obj, int scope)

getAttribute(String name, int scope)

removeAttrbute(String name, int scope)

findAttribute(String name)

---依次從pageContext域,request域,session域,application域中獲取屬性,在某個域中獲取后將不在向后尋找

<%=pageContext.findAttribute("name")? %>

3、可以獲得其他8大隱式對象

例如: pageContext.getRequest()

pageContext.getSession()


列舉JSP四大作用域

page域:當前jsp頁面范圍

request域:一次請求

session域:一次會話

application域:整個web應用

jsp標簽(動作)

1. 頁面包含(動態(tài)包含):<jsp:include page="被包含的頁面"/>

2. 請求轉發(fā):<jsp:forward page="要轉發(fā)的資源" />

比較靜態(tài)包含和動態(tài)包含

靜態(tài)包含與動態(tài)包含的區(qū)別
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 1.學習內(nèi)容 JSP技術入門和常用指令 JSP的內(nèi)置對象&標簽介紹 EL表達式&EL的內(nèi)置對象 2.JSP技術入門...
    WendyVIV閱讀 2,327評論 1 18
  • Jsp技術總結 1. 什么是JSP JSP即Java Server Pages,它和servlet技術一樣...
    91數(shù)據(jù)閱讀 1,795評論 0 18
  • JSP總結(經(jīng)典) day1 JSP 定義: 1)Java Server Page, Java EE 組件,本...
    91數(shù)據(jù)閱讀 3,645評論 0 13
  • JSP ( java server page ) java 服務端頁面,從名字就可以看出它是運行在服務端的 jav...
    善傾閱讀 997評論 0 3
  • 早晨刷牙時,母親推門進來,詢問還有衣服要洗嗎?側目那一刻,看到她蒼老的臉和沒有神采憂郁的眼,內(nèi)心一陣難受,避開母親...
    楓聆渡閱讀 214評論 0 0

友情鏈接更多精彩內(nèi)容