编写JSP动态网页设计时,怎么应用JavaBean呢?下面我一步步讲解,说明一下,这只是我的经验,可能并不完全概括,当然我已经成功地编译通过和正确使用了。
(有关图示如下)
JavaBean的.class字节文件可以放到tomcat本身就有的classes目录下,但是最好自定义目录,在当前目录建立以下目录:…/WEB-INF/classes(比如我用的是webapps/Example/WEB-INF/classes/ 。上图中,我所举的例子中所用的Hello.java ,已经编译通过,生成Hello.class字节文件,放在classes文件夹里),这样就不像那种让其它任何WEB服务文件都可使用的JavaBean的存放位置的情况,直接就把.class字节文件放到tomcat中已经有了的classes目录。不过现在高版本的tomcat已经没有这些目录了,那么应用JavaBean时候,当然要自己建立这些目录啦。
建立目录的时候要注意:文件夹名是WEB-INF,而不是WEN_INF,注意中间的横杠要写对;文件夹名是classes而不是class;classes下的包名也得注意,它是跟你JavaBean里所起的包名相同,比如,你在JavaBean文件中有以下语句:import Bao;就意味着你引入了名为Bao的包,那么在classes文件夹下的包名(文件夹名)应该是Bao了。
接着写好JavaBean后,编译。这里说一下在DOS下怎么编译JavaBean:开始――运行――输入cmd――通过cd..或者cd进入到JavaBean所在目录(比如图中的Hello.java文件,我把它放在mypao里,那么在DOS下,就要进入到这个目录里来编译它),然后输入命令:javac Hello.java后,就可以得到生成在mypao包中的Hello.class字节文件了,到此编译完毕。如果重新修改过JavaBean,那么要先把以前的旧的.class文件删除掉,然后重新编译JavaBean。
接着就可以在JSP中使用它了。我拷贝代码出来说明吧,a1.jsp文件代码如下:
%@ page contentType="text/html;charset=GB2312" % %@ page import="mypao.Hello"% !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" html xmlns="http://www.w3.org/1999/xhtml" head meta http-equiv="Content-Type" content="text/html; charset=gb2312" / titleJavaBean的应用/title /head body bgcolor="#9900FF" center ph3下面用JavaBean显示:/h3/p jsp:useBean id="hh" class="mypao.Hello" scope="page" /jsp:useBean %=hh.getX()% /body /html |
在上面代码中的第二行,必须有%@ page import="mypao.Hello"%这个语句,意思是引入mypao包以及包中的文件;其次要注意jsp:useBean id="hh" class="mypao.Hello" scope="page" /jsp:useBean
%=hh.getX()% 语句,其中id的值是自定义的,classe值是包名加点再加JavaBean名,scope有几个值,默认值是page,另外还有session,application等等,这里用page。编写代码完后,重新启动tomcat,正确输入如下地址http://localhost:8080/Example/a1.jsp就可以成功运行JSP了,这里说明一下,因为我的JSP文件是放在webapps目录下的Example文件夹里,所以地址栏里8080/后要有Example/ 。
为了更容易理解,下面我把以上所举的例子中所用的JavaBean代码如下:
package mypao; import java.io.*; public class Hello { int x; public Hello(){ x=88; } public int getX(){ return x; } public void setX(int newX){ x=newX; } public void print(){ System.out.println("hello,您好各位!"); } } |
至此,就完成了一个JSP中JavaBean的简单应用。