08第八章JSP核心技术之JavaBean组件_第1页
08第八章JSP核心技术之JavaBean组件_第2页
08第八章JSP核心技术之JavaBean组件_第3页
08第八章JSP核心技术之JavaBean组件_第4页
08第八章JSP核心技术之JavaBean组件_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java网络编程原理与JSPWeb核心开发技术

1第八章JavaBean组件

8.1

JavaBean概述8.2 在JSP中应用JavaBean8.3

JavaBean应用实例

28.1 JavaBean概述

8.1.1什么是JavaBean

8.1.2JavaBean的属性

8.1.3编写简单的JavaBean

8.1.4编译和部署JavaBean

38.1 JavaBean概述8.1.1什么是JavaBean

JavaBean是一种软件组件模型,Sun公司把JavaBean定义为一个可重复使用的软件组件。其实JavaBean就是一个类,一个用面向对象编程中的封装了属性和方法的用来完成特定的某种功能的类

。48.1 JavaBean概述8.1.2JavaBean的属性

1、简单(Simple)属性Simple属性解释怎样把数据赋予JavaBean相应变量,如何获取JavaBean相应变量的内容。2、索引(Index)属性一个Indexed属性可以描述多值的变量,用一个数组表示。使用与该属性对应的set/get方法可按索引设置或取得数组中的数值。该属性也可一次设置或取得整个数组的值。3、绑定(Bound)属性Bound属性提供一种监听机制,可以通过实现了PropertyChangeListener接口的监听器来监听JavaBean中属性值的改变。当属性值发生变化时,监听器接收由JavaBean组件产生的PropertyChangeEvent事件对象,PropertyChangeEvent对象中封装了对应的属性名称、旧的属性值以及新的属性值。使用绑定属性的JavaBean在实现addProtertyChangeListener()和removePropertyChangeListener()方法,以便加入和删除属性变化监听器。4、约束(Constrained)属性Constrained属性与Bound属性相似,不同之处在于约束属性的值的变化在被所有的监听器验证之后,值的变化才能够对JavaBean组件产生作用。当这个属性的值要发生变化时,与这个属性已建立了某种连接的其它Java对象可否决属性值的改变。在Web开发中很少使用到这种属性,故不详细介绍。58.1 JavaBean概述8.1.3编写简单的JavaBean

定义一个完整的JavaBean需要遵守4点要求:1、set()/get()方法如果类的成员变量的名字是xxx,则为了设置或获取成员变量的值,在类中要定义以下两个方法。publicvoidsetXxx(dataTypedata):用来设置变量值。publicdataTypegetXxx():用来获取变量值。getXxxx()和setXxxx()中变量名字的第一个字母要大写。2、布尔型数据如果成员变量是boolean型数据,可以定义以下三种形式的方法:publicbooleanisXxxx()publicbooleangetXxxx()publicvoidsetXxxx(booleandata)3、方法的访问权限类中方法的访问权限必须是public的。4、构造函数类中如果有构造函数,则构造函数的访问权限也必须是public的,而且是无参数的。例程8-1:userBean.java

68.1 JavaBean概述8.1.4编译和部署JavaBean

1、编译JavaBean编译JavaBean实际上就是编译Java类,使用javac命令,编译通过就会生成userBean.class字节码文件。2、部署JavaBean布置JavaBean的class文件有两种方法,一种是对Web服务器中的JSP页面都有效;另一种仅对当前应用有效。如果要让Web服务器中所有的JSP页面都可以使用要部署的JavaBean,则可把编译后得到的class文件拷贝到Tomcat的安装目录的classes子目录下(例如:d:\Tomcat5.5\common\classes),但要重启Tomcat服务器才能生效。如果只对当前的应用有效,则须在当前应用下建立WEB-INF子目录,在这个子目录下创建classes子目录(例如:d:\Tomcat5.5\webapps\ROOT\WEB-INF\classes),把class文件拷贝到classes子目录下。78.2 在JSP中应用JavaBean8.2.1在JSP中调用JavaBean

8.2.2通过动作指令获取与设置JavaBean的属性值

8.2.3JSP+Servlet+JavaBean结合使用88.2 在JSP中应用JavaBean

8.2.1在JSP中调用JavaBean

在JSP页面调用JavaBean可采用以下两种方法。方法一:先通过页面指令page对要使用的JavaBean进行引入,然后通过<jsp:userBean>动作指令进行指定。page指令的语法格式如下:<%@pageimport=”package.class”%>//可以省略<jsp:userBean>动作指令的语法格式如下:<jsp:useBeanid=”beanid”class=”package.class”scope=”page|request|session|application”></jsp:useBean>或<jsp:useBeanid=”beanid”class=”package.class”scope=”page|request|session|application”/>id用来给出JavaBean实例的名称,可以由用户任意给定。class为JavaBean类名。scope用来指定JavaBean的作用范围,可以取以下四个值:page:表示JavaBean只能在当前页面中使用。request:表示JavaBean在相临的两个页面中有效,即在请求与被请求页面之间共享。session:表示JavaBean在整个用户会话过程中都有效,同一个客户在一次会话期间打开的多个JSP页面中使用的是同一个JavaBean。application:表示JavaBean在当前整个Web应用的范围内有效,即服务器的所有客户之间共享JavaBean。例程8-1:userBean.java例程8-2:UseBeanFirst.jsp

98.2 在JSP中应用JavaBean

8.2.1在JSP中调用JavaBean

方法二:保留页面指令page中的import属性,省去<jsp:useBean>指令,直接在页面中创建JavaBean对象。例程8-1:userBean.java例程8-3:UseBeanSecond.jsp108.2 在JSP中应用JavaBean

8.2.2通过动作指令获取与设置JavaBean的属性值

1、<jsp:getProperty>指令<jsp:getProperty>指令用来获取JavaBean的属性值,并将这个属性值以字符串的形式显示出来,其语法格式如下:<jsp:getPropertyname=”Bean对象名”property=”Bean属性名”/>或<jsp:getPropertyname=”Bean对象名”property=”Bean属性名”></jsp:getProperty>2.<jsp:setProperty>指令<jsp:setProperty>指令用来设置JavaBean的属性值,该指令有三种使用方法。方法一:直接把字符串或表达式设置为属性值,JSP会将属性值中的数据按相应类型赋值给JavaBean对象,其语法格式如下:<jsp:setPropertyname=”Bean对象名”property=”Bean属性名”value=”属性值”/>例程8-1:userBean.java例程8-4:UseSetPropertyFirst.jsp118.2 在JSP中应用JavaBean

8.2.2通过动作指令获取与设置JavaBean的属性值

方法二:通过页面表单来设置JavaBean的属性值。这种方法要求HTML表单输入项的名字要与JavaBean属性的名字相同,这样服务器引擎会自动进行匹配把字符串转换为相应的JavaBean属性的数据类型数据,可使用如下的语法格式:<jsp:setPropertyname=”Bean对象名”property=”*”/>示例程序8-5用于实现用户注册,当点击“注册”按钮时会向示例程序8-6提交用户注册信息,接下来,通过方法二在JSP页面中对userBean的对象进行赋值。注意:表单元素名与userBean中的属性名要一致。例程8-5:register.html例程8-6:UseSetPropertySecond.jsp

128.2 在JSP中应用JavaBean

8.2.2通过动作指令获取与设置JavaBean的属性值

方法三:利用请求对象request中封装的的参数值来设置JavaBean的属性值。request对象中的参数名字和JavaBean对象中的属性名字可以不同,服务器引擎会自动进行匹配把字符串转换为相应的JavaBean属性的数据类型数据。这样设置比第二种方法较为灵活,具体语法格式如下:<jsp:setPropertyname=”Bean对象名”property=”Bean属性名”param=”request参数名”/>将例程8-5中的相应语句进行修改,使表单元素的名字可以不与JavaBean的属性名相同。例如:

<formmethod="get"action="/UseSetPropertyThird.jsp">

姓名:<inputtype="text"name="username"><br>

密码:<inputtype="password"name="password"><br>

类型:<inputtype="checkbox"name="newuser">新用户<br> </form>接下来,对例程8-6进行修改形成例程8-7。例程8-7:UseSetPropertyThird.jsp138.2 在JSP中应用JavaBean

8.2.3JSP+Servlet+JavaBean结合使用

例程8-8要求用户输入登录信息,包括用户名和密码,当用户在页面中输入信息并点击“登录”按钮时会以POST方式将请求提交给例程8-9所对应的Servlet。Servlet对客户请求进行分析,从请求对象中获取用户提交的数据,然后生成一个JavaBean对象,对JavaBean对象的属性进行设置,接下来,通过调用JavaBean对象的相应方法来对用户进行合法验证,如果验证通过则跳转到登录成功页面(loginsccess.jsp),如果验证不通过则仍跳转到系统登录页面(login.html)。

程序演示:1、编写、编译并部署JavaBean例程8-10:userBean.java2、编写、编译并部署Servlet例程8-9:LoginServlet.java3、编写并部署网页文件例程8-8:login.html例程8-11:loginsccess.jsp4、运行网页文件(例程8-8).148.3 JavaBean应用实例

8.3.1计数器JavaBean

8.3.2在线投票JavaBean

158.3 JavaBean应用实例

8.3.1计数器JavaBean

1、编写、编译并部署JavaBean例程8-12:Counter.java2、编写并部署网页文件例程8-13:javabeanCounter.jsp3、运行网页文件(例程8-13).168.3 JavaBean应用实例

8.3.2在线投票JavaBean

用户在JSP页面中可以从若干个选项中选取一个,当提交投票信息后,可以以图形或数据形式显示的投票结果

1、编写、编译并部署JavaBean例程8-17:voteBean.java2、编写、编译并部署Servlet例程8-15:voteServlet.java3、编写并部署网页文件例程8-14:vote.jsp例程8-16:sho

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论