jsp頁面的基本組成部分:指令,表達式,小腳本,聲明,註釋,靜態內容。java
指令元素有三種:web
一、page:eg <%@ page 屬性名="屬性值" 屬性名="屬性值;屬性值"... %> 常見的屬性有 language,import ,contentType。服務器
二、includecookie
三、taglibsession
jsp註釋app
HTML註釋 在客戶端可見。<!-- HTML註釋 -->jsp
jsp註釋,在客戶端不可見。<%-- JSP註釋--%>.net
在jsp腳本當中使用java的單行/多行註釋; <% // 單行註釋 %> <% /* 多行註釋 */ %>code
jsp的腳本元素 <% java代碼 %>對象
jsp的聲明 <%! String s="zhangsan" ;int add(int i,int y){ return x+y} %>
jsp表達式 <% =表達式 %>
jsp頁面的生命週期:一次init,屢次調用service方法處理用戶的每次請求。
jsp的內置對象:out 、request、response、session、application、page、pageContext、exception、config。
out對象介紹: 主要方法有println clear flush clearbuffer 要注意的是執行了flush以後不能執行了clear,不然回報錯,但flush以後能夠有clearbuffer方法。
請求轉發和請求重定向的區別和聯繫:請求重定向屬於response的一個方法,屬於客戶端行爲,從本質來講是兩次請求,前一次不會保存,地址欄會發生變化。與之相對應的是request對象的轉發方法,是一種服務器行爲,地址欄不會變化。
javaBeans的四個做用域範圍:page,request,session,application
jsp的modle1是傳統的三層,有jsp接受數據由JavaBean處理業務邏輯和封裝數據,再有usedBeans調用持久層。
jsp的狀態管理:
一、HTTP的無狀態性。這個是先天不足。
二、保存用戶狀態的兩大機制:session 、cookie;cookie是web服務器保存在客戶端的數據技術,常見的應用場景在購物車裏面;記住登陸名和密碼都是cookie技術從而簡化登錄,但容易泄露用戶數據。
三、cookie的建立和使用 使用URLEncode來使中文沒法解碼的問題,該方法位於java.net包下。
指令與動做
page指令已經講過了,接下來來是include
一、指令,其有一個file屬性能夠指明包含頁面。
二、動做,有page和flush兩個屬性。
區別:主要區別有兩個:頁面包含內容不同,編譯事後文件個數不同。
forward動做 至關於服務器短的轉發效果。屬性只有一個page屬性。
param動做經常與forward動做一塊兒使用做爲forward的子一級。