最近闲来无事,就学学JSP,在JSP中利用JavaBean时总是涌现问题,而且难于找到缘故原由,这个问题以前在学习的时候也碰到,也一贯没有弄明白,直到最近学习时才得以办理。
我利用的是Tomcat6.0 + JDK1.6 + Eclipse-SDK-win32,Tomcat按默认路径安装到C盘,JDK也安装到C盘,并设置好环境变量,JSP程序是在Dreamweaver CS3中编写,JavaBean(即实现一定功能的Java程序)是在Eclipse中编写,且须要建立相应的工程和包。
我的JSP页面没有放到Tomcat的安装目录下,而是放到\公众E:\Study\JSP动态网页开拓技能与实践\chapter3\"大众目录中,这就须要设置虚拟目录, Tomcat才能访问到虚拟目录中的JSP页面。设置的方法可以参照以下的方法:依次打开\"大众C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf\公众,再打开里面的server.xml文件,在</Host>前添加如下代码:
<Context path=\"大众/chapter2\公众 docBase=\"大众E:\Study\JSP动态网页开拓技能与实践\chapter2\"大众 debug=\"大众0\"大众 reloadable=\"大众true\"大众 > </Context>
path指的是虚拟目录,即JSP网页项目名称所在的目录;
docBase指的是完全的目录。Debug和reloadabel照搬即可。
这样,Tomcat的虚拟目录就设置好了,访问JSP页面时就在地址栏中输入http://localhost:8080/chapter2/test.jsp就可以访问了,个中test.jsp要换成要访问的JSP网页的文件名
接着,Eclipse中也要进行大略的设置。打开时要选择事情空间,即某个文件夹,再建立一个Java Project,也就Java项目名称,我用的是JavaBean,在新建Java Class时输入所在包的名称和Java Class的名称,包名我用的是com.chapter2,Java类我建立的是Login.java,经Eclipse编译后在JavaBean\bin\com\chapter2文件夹下就产生了Login.class文件。
末了在JSP的项目文件夹(即E:\Study\JSP动态网页开拓技能与实践\chapter2)下要建立相应的文件夹,在chapter2文件夹下依次建立WEB-INF\classes\com\chapter2文件夹,把上面编译后的Login.class文件拷贝到这个文件夹下,JSP就可以调用Login类中的函数了,当然还要在JSP网页前面加入<jsp:useBean id=\公众Login\"大众 class=\"大众com.chapter2.Login\公众 scope=\"大众page\公众/>这一行代码。这一行代码中com.chapter2中指WEB-INF\classes\文件夹里的包,Login是指WEB-INF\classes\com\chapter2文件夹下的Login.class类的名称。
结束语:我之前一贯都弄不清楚Eclipse中Java项目文件夹与JSP项目文件夹之间的联系,以为这两个文件夹是相同的,JSP可以直接调用Eclipse中的.class文件,以是把WEB-INF和classes文件夹都放到Eclipse项目文件夹中,总是涌现缺点,直到现在才明白这两个文件夹是相对独立的,只要把Java项目文件夹中编译好的.class文件拷贝到WEB-INF\classes\文件夹中,JSP就能够调用了,当然如果Java程序中有包名,在WEB-INF\classes\文件夹下也要建立相同名称的包才行。值得一提的是,在JSP中调用JavaBean时不须要配置web.xml文件,而利用Servlet时才配置。