首页 > 编程 > JSP > 正文

JSP与JavaBean详谈

2024-09-05 00:19:16
字体:
来源:转载
供稿:网友

jsp与javabean  
  虽然你可以在小型指令文件里放入一大块的程序代码,但是大多数的java程序代码是属于可以重复使用的组件,称为javabean。javabean就跟activex控件一样:它们提供已知的功能,并且是为了可随时重复使用的目的而设计的。  

  javabean的价值在于它可以经由一组特性来使用,而这些特性则提供对javabean设定的存取。以人来作范例,此人就是javabean,而他的姓名,社会福利安全号码,以及住址可以是特性。对于jsp网站,基本上你是将'javabean'动态的连接到你的网站。  

  假设javabean是在建立网站之前建好的,你要做的第一件事是告诉jsp网页它所需要使用javabean.这工作可以用<jsp:usebean>卷标来完成:<jsp:usebean id="localname" class="com.jguru.person" scope="application" />.  

  <jsp:usebean>卷标需要你以id 属性来辨识豆子.在这里,你提供一个名称让jsp网页来辨识豆子,除了id 属性之外,你也必须告诉网页要到哪里去找这个豆子,或者是它的java类别名称。类别属性提供如何在各式方法之中找到它,最后一个需要的组件是scope 属性.有了范围属性的帮助,你可以告诉豆子,要它为单一网页(预设)[scope="page"];为一个被请求的网页[scope="request"];为通话期[scope="session"];或为整个应用程序[scope="application"]来维护它自己的信息.对于通话期范围,你可以很容易的维护jsp网页里的项目,例如购物车。  

  一但你宣告了javabean之后,你就可以存取它的特性来订定它。要取得一特性的值,使用<jsp:getproperty>卷标。有了<jsp:getproperty>卷标,你可以指定要使用的豆子名称(从usebean的id字段),以及你要取得值的特性。接着,真正的值就会放在输出里:<jsp:getproperty id="localname" property="name" />.  

  要更改javabean的特性,你需要使用<jsp:setproperty>卷标.对这个卷标,你也需要辨认豆子以及要修正的特性,除此之外,你还需要提供新值.如果命名正确,这些可以直接经由规定的格式取得:<jsp:setproperty id="localname" property="*" />;   

  要从一参数取得,你必须直接命名此特性以及参数: <jsp:setproperty id="localname" property="address" param="parametername" />;   

  或是直接以名称与值来设定: <jsp:setproperty id="localname" property="serialnumber" value="string" /> or <jsp:setproperty id="localname" property="serialnumber" value= <%= expression %> />.  

  有关javabean的最后一点:要让网络服务器可以找到javabean,你需要将它们的类别档案放在特别位置。对jswdk而言,最简单的地方是在安装目录里的类别目录,例如 jswdk-1.0.1classes.

jsp的内部对象 
  最后一个与jsp语法有关的组件叫做内部对象.在jsp小型指令文件内,你可以存取这些内部对象来与执行jsp网页的servlet环境相互作用。许多对内部对象的存取应该要简化。然而,这些是范例,它们的存取都是可接受的,要完整的利用内部对象设定则需要对最新的java servlet api有所了解。  

  下表列出你可以使用的内部对象。  


  内部对象说明  


  request   客户端请求,此请求会包含来自get/post请求的参数  

  response  网页传回客户端的响应  

  pagecontext 网页的属性是在这里管理  

  session   与请求有关的会话  

  application servlet正在执行的内容  

  out     用来传送响应的输出流  

  config   servlet的架构对象  

  page    jsp网页本身  

  exception  针对错误网页,未捕捉的例外  

  那么,这些是做什么的,而你应该如何使用它们呢?基本上,在你的小型指令文件里,你可以使用它们来存取执行jsp程序代码的servlet。为了避免谈论到太多servlet api 的细节,让我们来检视一些你可以利用它们来做的事:   

  不必使用表达式,你可以直接存取内部out对象来打印一些东西到response:  

  <% out.println("hello"); %>.   

  不必直接传送参数到javabean,你可以藉由请求对象来取得参数的值:  

  <% string name=request.getparameter("name"); out.println(name); %>。  

  当你以jsp写了许多的应用程序之后,如果你建立了javabeans或者发现你自己将太多的java原始码放入你的jsp档案,你需要建立支持的java类别,这样可以鼓励重复使用并且降低jsp网页转换时所需要的时间。当你需要建立java类别时,你必须:  

  将jdswk的安装目录in目录加到你的path。在你的autoexec.bat档案的path行的最后,加入c:1.2.2in; 。  

  以下面的指令将jar档案复制到jrelibext目录:  

  copy c:jswdk-1.0.1libservlet.jar c:jdk1.2.2jrelibext.

  • 本文来源于网页设计爱好者web开发社区http://www.html.org.cn收集整理,欢迎访问。
  • 发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表