12
返回列表 发新帖
楼主: lyqcrh

JavaBean问题!请高手指教,Thanks!

[复制链接]
论坛徽章:
0
11#
发表于 2001-12-20 17:01 | 只看该作者

应该是packag的问题吧

应该是packag的问题吧

使用道具 举报

回复
论坛徽章:
4
ITPUB元老
日期:2005-02-28 12:57:00授权会员
日期:2005-10-30 17:05:33管理团队2006纪念徽章
日期:2006-04-16 22:44:45会员2006贡献徽章
日期:2006-04-17 13:46:34
12#
发表于 2001-12-20 17:56 | 只看该作者
我刚才测试了一下,发现没有什么问题。测试程序如下:

第一种情况:【有包的情况】

『Bean如下:』
package bean;
/**
* 插入类型描述:
* 创建日期:(2001-12-20 17:23:24)
* @作者:<adi>
*/
public class TestBean {
        String name;
/**
* TestBean constructor comment.
*/
public TestBean() {
        super();
}
/**
* 插入方法描述:
* 创建日期: (2001-12-20 17:25:40)
* @return java.lang.String
*/
public String getName() {
        return name;
}
/**
* 插入方法描述:
* 创建日期: (2001-12-20 17:24:30)
* @param name java.lang.String
*/
public void setName(String n) {
        name=n;
}
}

『Jsp文件如下:』
<%@ page language="java" contentType="text/html;charset=gb2312" %>
<title>Floatwind's Communication</title>
<body bgcolor="#476992">
<jsp:useBean id="bean" scope="page" class="bean.TestBean"/>
<%
bean.setName("Tom";
out.println(bean.getName());
%>
<hr>
</body>
网页输出结果为:Tom

第二种情况:【没有包的情况】
『bean如下:』
/**
* 插入类型描述:
* 创建日期:(2001-12-20 17:23:24)
* @作者:<adi>
*/
public class TestBean {
        String name;
/**
* TestBean constructor comment.
*/
public TestBean() {
        super();
}
/**
* 插入方法描述:
* 创建日期: (2001-12-20 17:25:40)
* @return java.lang.String
*/
public String getName() {
        return name;
}
/**
* 插入方法描述:
* 创建日期: (2001-12-20 17:24:30)
* @param name java.lang.String
*/
public void setName(String n) {
        name=n;
}
}
『Jsp文件如下:』
<%@ page language="java" contentType="text/html;charset=gb2312" %>
<title>Floatwind's Communication</title>
<body bgcolor="#476992">
<jsp:useBean id="bean" scope="page" class="TestBean"/>
<%
bean.setName("John";
out.println(bean.getName());
%>
<hr>
</body>
网页输出结果为:John

我的测试环境为window2000+jdk1.3+tomcat3.2.3,没有发现什么问题。我建议你把原来的tomcat备份,然后重新配置一个新的tomcat,用我的例子测试,应该没有什么问题。我想你之所以如此,可能是以前的一些设置影响到现在的操作了。

使用道具 举报

回复
论坛徽章:
29
ITPUB元老
日期:2005-02-28 12:57:00奥运会纪念徽章:赛艇
日期:2012-06-27 19:13:53ITPUB 11周年纪念徽章
日期:2012-10-09 18:03:322013年新春福章
日期:2013-02-25 14:51:24日产
日期:2013-09-09 12:38:53马自达
日期:2013-09-26 23:28:19马自达
日期:2013-11-20 14:52:01红旗
日期:2013-12-09 11:45:58一汽
日期:2013-12-14 13:27:442014年新春福章
日期:2014-02-18 16:41:11
13#
发表于 2001-12-20 17:58 | 只看该作者
为了你这问题,今天特地DOWN了个TOMCAT4来试,还真如你所说,我用3.2.3没这问题,你必教bin里的TOMCAT.BAT和CATALINA.BAT, CLASSPATH的设置发生了改变------不想去研究它了.

要解决你的问题,只要在你的hh.jsp里加入(我试过了成功):
<%@ page import="aa" %>

或者用回PACKAGE,TOMCATE里的BEAN规定是,如果你的JSP在/FOLDER1/中那么对应的BEAN就在/WEB-INF/CLASSES/FOLDER1/里找,也就是BEAN的PACKAGE是FOLDER1(你可以看它自带的EXAMPLE), TOMCAT4开始不主张把JSP放在ROOT下,也就是/WEB-INF/CLASSES下找CLASS,所以你最好还是用PACKAGE.

使用道具 举报

回复
论坛徽章:
4
ITPUB元老
日期:2005-02-28 12:57:00授权会员
日期:2005-10-30 17:05:33管理团队2006纪念徽章
日期:2006-04-16 22:44:45会员2006贡献徽章
日期:2006-04-17 13:46:34
14#
发表于 2001-12-20 18:36 | 只看该作者
我看了Sparky所说,有道理。根据我作项目的经验,若是在<jsp:useBean id="bean" scope="page" class="TestBean"/> 中加入TestBean所在包名,即:<jsp:useBean id="bean" scope="page" class="bean.TestBean"/>,那么就不用使用语句:<%@ page import="bean"%>,导入TestBean所在的包。反之,则需要语句<%@ page import="bean"%>。以上两种情况,无论是那一种,jsp文件都会到web-inf/classes/Bean/中寻找TestBean,若是找不到则会报错。

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
15#
 楼主| 发表于 2001-12-21 13:45 | 只看该作者
非常感谢Sparky、阿迪两位高手的大力帮助!
现在我终于明白了,建议大家写BEAN时,最好都要加上PACKAGE!
为了调试这个程序,我今天重装了一个JRUN3。1,可以没有PACKAGE,而且也不用IMPORT “AA”之类的,也挺方便的!不过好象还没有找到永久使用的KEYS!大家有吗?给一个,谢谢!(^- ^)

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表