您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關JSP中Application如何使用,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
JSP調用Javeabean命令UseBean中有Scope設置,一般有 Application session page等設置,Page就是每頁重新產生usebean中的javabean新對象,一般情況是用這種,如果多個JSP程序間為共享數據,可以使用 session
而application的意思,該javabean將一直存在,與session相對用戶來說,application是相對應用程序的,一般來說,一個用戶有一個session,并且隨著用戶離開而消失;而application則是一直存在,類似一個servlet程序,類似整個系統的"全局變量",而且只有一個實例。
MVC中控制功能
因此application這個特性,很適合用來做MVC中的控制功能,一般傳統MVC是用servlet做控制功能,V基本是JSP頁面,M就是中間件Javabean之類。
但是隨著JSP功能的完善和推廣,逐漸有替代servlet之趨勢,我們在實踐中更多使用的也是JSP,有時為了省卻麻煩的事情,就使用JSP代替servlet.尤其是其控制功能。
實際上,這個控制功能是封裝在一個Javabean中,JSP使用scope=application來調用這個Javabean,這樣,具備控制功能的javabean就類似servlet常駐內存,并和后臺各種中間件交互操作。
“首頁”的展現
在實際應用中,我們經常有多個用戶要同時訪問一個頁面,如首頁,這個首頁中有很多功能要運行,比如目錄分類,首頁程序要從數據庫中讀入樹形數據并展開,輸出到首頁,這個功能是封裝在Javabean中的。
那么首頁JSP調用這個Javabean時,使用scope=application, 再通過樹形數據的緩沖算法,這樣,多個用戶同時訪問首頁時,首頁JSP就無需每次啟動Javabean然后再反復讀取數據庫了。無疑大大提高速度。
所以如果你的首頁JSP訪問量很高,那么就應該在這方面多花點時間優化。
數據庫連接緩沖
<jsp:useBean id="cods" class="oracle.jdbc.pool.OracleConnectionCacheImpl" scope="application" /> <event:application_OnStart> <% cods.setURL("jdbc:oracle:thin:@HOST:PORT:SID"); cods.setUser("scott"); cods.setPassword("tiger"); cods.setStmtCache (5); %> event:application_OnStart> <%@ page import="java.sql.*, javax.sql.*, oracle.jdbc.pool.*" %> * This is a JavaServer Page that uses Connection Caching over application * scope. The Cache is created in an application scope in globals.jsa file. * Connection is obtained from the Cache and recycled back once done. <HTML> <HEAD> <TITLE> ConnCache JSP TITLE> HEAD> <BODY BGCOLOR=EOFFFO> <H1> Hello <%= (request.getRemoteUser() != null? ", " + request.getRemoteUser() : "") %> ! I am Connection Caching JSP. H1> <HR> <B> I get the Connection from the Cache and recycle it back. B> <P> <% try { Connection conn = cods.getConnection(); Statement stmt = conn.createStatement (); ResultSet rset = stmt.executeQuery ("SELECT ename, sal " + "FROM scott.emp ORDER BY ename"); if (rset.next()) { %> <TABLE BORDER=1 BGCOLOR="C0C0C0"> <TH WIDTH=200 BGCOLOR="white"> <I>Employee NameI> TH> <TH WIDTH=100 BGCOLOR="white"> <I>SalaryI> TH> <TR> <TD ALIGN=CENTER> <%= rset.getString(1) %> TD> <TD ALIGN=CENTER> $<%= rset.getDouble(2) %> TD> TR> <% while (rset.next()) { %> <TR> <TD ALIGN=CENTER> <%= rset.getString(1) %> TD> <TD ALIGN=CENTER> $<%= rset.getDouble(2) %> TD> TR> <% } %> TABLE> <% } else { %> <P> Sorry, the query returned no rows! P> <% } rset.close(); stmt.close(); conn.close(); // Put the Connection Back into the Pool } catch (SQLException e) { out.println("<P>" + "There was an error doing the query:"); out.println ("<PRE>" + e + "PRE> n <P>"); } %> BODY> HTML>
關于JSP中Application如何使用就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。