您的位置:首页 > 编程语言 > Java开发

JSP开发中的JavaBean的应用以及部署

2011-12-08 21:08 225 查看
JavaBean 说白了 就是一个java类,跟VC中的控件类似是JSP开发中组件。

JavaBean分为可视化javabean 和非可视化javabean ,在JSP中 多用到的是 非可视化javabean 。

在 C/S模式下开发应用程序多用到的是 可视化JavaBean 但是在 B/S模式下应用程序的开发多用到的是非可视化JavaBean 。

我们在没接触JavaBean之前可能有过这样的经历,在JSP页面当中 动态内容JSP 和静态内容html交错在一起,不容易后期维护,代码混乱。

JavaBean很好的实现了代码重用,减少了开发的工作量,并且实现了 静态和动态的分离 。.



编写JavaBean要有一些规则 :

对于 一个属性 需要有getXXX() setXXX()函数来获得和设置属性的值

并且对于每个访问属性的方法都要设置为pulic访问权限,这样可以方便JSP引擎知道JavaBean的属性和方法 。





什么是jar文件 ?

jar文件是一些java类的集合 ,包含了一组类 和其他相关的资源.包括图像声音 .......

如果我们需要多个类,你说我们是去下载这些类打包后的jar文件方便呢?还是一个一个的下载方便呢?

这个不用我多说了吧 。。。。



下面是JavaBean的部署方法 :

在编写好了一个JavaBean之后,要用 javac -d path 来编译JavaBean产生字节码文件 *.class 对于有包的类那么则会生成相应的目录层次

这是在传统的记事本编程中这样做 .但是在 Eclipse中 在源文件保存的时候会自动生成 .class文件 。

我们可以用JDK提供的jar.exe工具进行打包

格式 : jar [option可以使多个集合例如cf] a.jar *.class //将所有类进行打包为a.jar文件

选项包括:

-c 创建新的归档文件

-t 列出归档目录

-x 解压缩已归档的指定(或所有)文件

-u 更新现有的归档文件

-v 在标准输出中生成详细输出

-f 指定归档文件名

-m 包含指定清单文件中的清单信息

-e 为捆绑到可执行 jar 文件的独立应用程序

指定应用程序入口点

-0 仅存储;不使用任何 ZIP 压缩

-M 不创建条目的清单文件

-i 为指定的 jar 文件生成索引信息

-C 更改为指定的目录并包含其中的文件

如果有任何目录文件,则对其进行递归处理。

清单文件名、归档文件名和入口点名的指定顺序

与 "m"、"f" 和 "e" 标志的指定顺序相同。

示例 1:将两个类文件归档到一个名为 classes.jar 的归档文件中:

jar cvf classes.jar Foo.class Bar.class

示例 2:使用现有的清单文件 "mymanifest" 并

将 foo/ 目录中的所有文件归档到 "classes.jar" 中:

jar cvfm classes.jar mymanifest -C foo/ .



我们在生成好了 *.class之后如果要使用这个JavaBean 我们可以吧这个类文件 复制到 web工程的 WEB-INF\classes目录下 ,那么这个web工程就可以使用这个JavaBean了 ..

如何使用jar文件呢?

如果我们想再服务器所有JSP页面共享部署的Jar文件,那么将jar文件复制到 Tomcat目录下的lib目录中。那么所有的JSP页面都可以使用了

如果只想某个程序使用那么只需要在web工程的 WEB-INF下建立lib文件夹 然后将jar文件放入即可 。。。。。





在JSP页面中使用JavaBean要使用 useBean动作指令



<jsp:useBean id="javabean的实例名" class="javabean的类名" scop="JavaBean的有效范围" />

scop的取值范围有 四个

1、page 只在当前的jsp页面有效 分配给每个客户的JavaBean不同 。如果关闭此页面 那么JavaBean也将取消 。

2、session 表示分配给每个客户的javaBean不同 但是如果同一会话中ID相同的 javabean 一个的属性修改 那么另一个属性也会修改 。JavaBean的声明周期就是一次session会话

3、 request 表示分配给每个JavaBean的不同 只在请求和被请求页面之间共享JavaBean 当对清求做出相应之后 JavaBean也就取消了

5、application 表示在所有客户之间共享 JavaBean 一个客户改变了 成员变量的值 那么另一个客户的此JavaBean的值也会跟着 改变 。此JavaBean的声明周期是生个服务器的生命周期 。





引入之后我们就可以利用 id.method()调用 JavaBean的方法了 .因为useBean实际上是对一个类进行了实例化 ,,

<jsp:getProperty name="javabean对象的名字" property="属性的名字" /> //getProperty 动作指令会取得javabean指定的属性的值 并且输出 属性的值





setProperty动作指令有3种形式 是用来设置 JavaBean属性的值

<jsp: setProperty name="javabean实例名字" property="属性的名字" param="提交的时候的参数"/> //只对javabean中的执行属性赋值 而且值为为提交时候参数为 param的值

<jsp: setProperty name="javabean实例名字" property="*"/> //在提交的时候根据参数的名字 对 属性进行赋值 属性的额名字和参数名字相同 * 表示对所有属性进行赋值

如果存在值为null的时候 或者找不到参数的时候那么属性都不会被赋值



<jsp: setProperty name="javabean实例名字" property="属性的名字" value="属性的值"/> //我们自己对属性进行赋值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: