文章目錄
一.request對象:
該對象封裝了使用者提交的資訊,通過調用該對象相應的方法可以擷取封裝的資訊,即使用該對象可以擷取使用者提交資訊。它是HttpServletRequest的執行個體。
JSP
下面介紹request的常用方法:1,getParameter();使用如下 String str=request.getParameter();2,setAttribute();和getAttribute();removeAttribute(); getMethod();getProtocol();getReqeustURI();getRemoteAddr();getServerPort();和 getServerName();
二.response對象:
對客戶的請求做出動態響應,向用戶端發送資料。
三.session對象
1.什麼是session:session對象是一個JSP內建對象,它在第一個JSP頁面被裝載時自動建立,完成會話期管理。 從一個客戶開啟瀏覽器並串連到伺服器開始,到客戶關閉瀏覽器離開這個伺服器結束,被稱為一個會話。當一個客戶訪問一個伺服器時,可能會在這個伺服器的幾個頁面之間反覆串連,反覆重新整理一個頁面,伺服器應當通過某種辦法知道這是同一個客戶,這就需要session對象。 2.session對象的ID:當一個客戶首次訪問伺服器上的一個JSP頁面時,JSP引擎產生一個session對象,同時分配一個String類型的ID號,JSP引擎同時將這個ID號發送到用戶端,存放在Cookie中,這樣session對象和客戶之間就建立了一一對應的關係。當客戶再訪問串連該伺服器的其他頁面時,不再分配給客戶新的session對象,直到客戶關閉瀏覽器後,伺服器端該客戶的session對象才取消,並且和客戶的會話對應關係消失。當客戶重新開啟瀏覽器再串連到該伺服器時,伺服器為該客戶再建立一個新的session對象。 3.session對象存在一定時間到期問題,所以存在session中的名值對會在一定時間後失去,可以通過更改session有效時間來避免這種情況。同時編程時盡量避免將大量有效資訊儲存在session中,request是一個不錯的替代對象。
四.application對象
1.什麼是application: 伺服器啟動後就產生了這個application對象,當客戶在所訪問的網站的各個頁面之間瀏覽時,這個application對象都是同一個,直到伺服器關閉。但是與session不同的是,所有客戶的application對象都是同一個,即所有客戶共用這個內建的application對象。 2.application對象常用方法: (1)public void setAttribute(String key,Object obj): 將參數Object指定的對象obj添加到application對象中,並為添加的對象指定一個索引關鍵字。 (2)public Object getAttribute(String key): 擷取application對象中含有關鍵字的對象。
五.out對象
out對象是一個輸出資料流,用來向用戶端輸出資料。out對象用於各種資料的輸出。
六.page java.lang.Object
對應this關鍵字。JSP網頁本身,page對象是當前頁面轉換後的Servlet類的執行個體。從轉換後的Servlet類的代碼中,可以看到這種關係:Object page = this;在JSP頁面中,很少使用page對象。
七.config
jav
jsp validator相關的錯誤
[1]
ax.servlet. ServletConfig 的執行個體,該執行個體代表該JSP 的配置資訊。常用的方法有getInitParameter(String paramNarne) 及getInitParameternarnes() 等方法。事實上, JSP 頁面通常無須配置,也就不存在配置資訊。因此,該對象更多地在Servlet 中有效。
八.exception
java.lang.Throwable 的執行個體,該執行個體代表其他頁面中的異常和錯誤。只有當頁面是錯誤處理頁面,即編譯指令page 的isErrorPage 屬性為true 時,該對象才可以使用。常用的方法有getMessage()和printStackTrace()等。
九. pageContext
javax.servlet.jsp.PageContext 的執行個體,該對象代表該JSP 頁面上下文,使用該對象可以訪問頁面中的共用資料。常用的方法有getServletContext()和getServletConfig()等。 //使用pageContext 設定屬性,該屬性預設在page 範圍內 pageContext. setAttribute("page" , "hello") ; //使用request 設定屬性,該屬性預設在request 範圍內 request. setAttribute ("request" , "hello"); //使用pageContext將屬性設定在request 範圍中 pageContext.setAttribute("request2" , "hello" , pageContext.REQUEST_SCOPE); // 使用session將屬性設定在session 範圍中 session.setAttribute("session" , "hello"); //使用pageContext將屬性設定在session範圍中 pageContext.setAttribute("session2" , "hello" , pageContext.SESSION_SCOPE); //使用application將屬性設定在application範圍中 application. setAttribute ("app" , "hello") ; //使用pageContext 將屬性設定在application 範圍中 pageContext.setAttribute("app2" , "hello" , pageContext.APPL 工CATION_SCOPE) ;
JSP 2.0介紹
新的JSP規範版本包括新的用於提升程式員工作效率功能,主要有:
JSP
An Expression Language (EL) 允許開發人員建立 Velocity-樣式 templates (among other things).更快更簡單的建立新標籤的方法。 Hello, ${param.visitor} <%-- same as: Hello, <%=request.getParameter("visitor")%> --%>
MVC 模式 為了把表現層presentation從請求處理request processing 和資料存放區data storage中分離開來,SUN公司推薦在JSP檔案中使用一種“模型-視圖-控制器”Model-view-controller 模式。規範的SERVLET或者分離的JSP檔案用於處理請求。當請求處理完後,控制權交給一個只作為建立輸出作用的JSP頁。有幾種平台都基於服務於網路層的模-視圖-控制項 模式(比如Struts 和Spring framework)。