首 页 ┆ 源码下载 ┆ IT学院 ┆ 字体下载 ┆ 模板下载 ┆ 源码发布 ┆ 广告合作 ┆ 网站地图 ┆ 虚拟主机 ┆ 中文域名
► 设为首页
► 加入收藏
► 联系我们
源码下载 >> ASP源码 | PHP源码 | ASP.net源码 | JSP源码 | CGI源码 | VC/C++源码 | VB源码 | Delphi源码 | Flash源码
文章学院 >> 网络编程 | 网页设计 | 图形图象 | 数据库 | 服务器 | 网络媒体 | 网络安全 | 操作系统 | 办公软件 | 软件开发 | 黑客知识
字体下载 >> 精制字体 | 非英字体 | 艺术字体 | 著名字体 | 哥特式 | 简单字体 | 手写体 | 节假日 | 图案字体 | 精度像素 | 中文字体
模板下载 >> 企业门户 | 数码网络 | 休闲娱乐 | 影视音乐 | 旅游名胜 | 文化艺术 | 电子商务 | 个性展示 | 登陆导航 | Flash模板
►►您当前的位置:源码园 → IT学院 → 网络编程 → JSP专区 → 文章内容

在JSP编程中Application的使用方法详解

作者:未知  来源:网上收集  发布时间:2007-7-21 1:39:35
在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 Name</I> </TH> <TH WIDTH=100 BGCOLOR="white"> <I>Salary</I> </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>

使用application缓存数据库的连接,每次使用时,从缓冲中取出,用完就返回。


[] [返回上一页] [打 印]
  • 上一篇文章:Java开发学习过程中应该理解的一些重点内容
  • 下一篇文章:Spring2.0与BEA WebLogic Server的集成

  • 相关文章:
  • 如何在JSP中处理虚拟路径
  • 如何在JSP中添加自己的Tag
  • JSP例程 - 在JSP中定义函数
  • 系统文件的完全清除方法详解
  • [图文]WindowsXP系统文件替换方法详解--WindowsXP,系...
  • 5分钟内破解迅驰具体操作方法详解--5分钟内,破解,迅...
  • [图文]WindowsXP系统文件替换方法详解--Windows,XP,...
  • JSP教程(六)-怎么在JSP中跳转到别一页面
  • 如何在Jsp中使用JDBC来联结MySql
  • javamail在jsp中调用 一
  • javamail在jsp中调用 二
  • 在JSP中使用JavaMail
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 源码发布
Copyright © 2003-2009 Ymyasp.Com. All Rights Reserved .
备案序号:粤ICP备07029071号