javabeans的问题(急,在线等待),大家帮帮忙。

Code4Quality Architect  2002-05-27 04:30:47
bean组件单独执行时运行结果正确,在jsp页面中返回值总是null.为什么?

java文件如下:
package test
public class PropertyManager {

private String ConnectionString;
private String DriverName;
private String UserId;
private String Password;
public PropertyManager(){
Properties mpro=new Properties();
try{
InputStream mf=new FileInputStream("test.property");
mpro.load(mf);
}
catch(Exception ex){
ex.printStackTrace();
}
ConnectionString=mpro.getProperty("ConnectionString");
DriverName=mpro.getProperty("DriverName");
UserId=mpro.getProperty("UserId");
Password=mpro.getProperty("Password");
}
public String getConnectionString() {
return ConnectionString;
}
}

test.property文件内容:
ConnectionString jdbc:odbc:test


jsp文件如下:
<%@ page language="java" contentType="text/html;charset=gb2312" %>
<HTML>
<BODY>

<jsp:useBean id="pm" scope="session" class="test.PropertyManager" />

<%
String test=pm.getConnectionString();
out.println(test);
%>
</BODY>
</HTML>
...全文
10 点赞 收藏 18
写回复
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
wjfxiao 2002-05-28
我用的是jbuilder6.0
properties文件一应该和你的*.java文件在一起,在生成class文件时,jbuilder
会同时创建properties文件的副本(一份拷比)。所以我说和java文件放在一起,其实在使用试要和class在一起。
回复
Code4Quality 2002-05-27
明天结帖,呵呵,衷心的感谢大家的帮助。
回复
Code4Quality 2002-05-27
to wjfxiao:
谢谢,已经调试通过,不过properties文件放在.class文件一起才行,还有
你提到的编译生成properties文件是怎么回事?我用jcreator没有生成这个文件。
回复
wjfxiao 2002-05-27
可以:
这么得到文件:
InputStream mf= getClass().getResourceAsStream("./test.properties");

properties文件一应该和你的*.java文件在一起;
编译是会生成
properties文件
这样时可以的,我调试通过!
回复
Code4Quality 2002-05-27
to Andrawu(Andrawu)
能不能指定相对路径,怎样才能指定相对路径??
回复
Code4Quality 2002-05-27
to wjfxiao:
我的tomcat是以服务形式安装的,所以没有查看错误代码,多谢提醒,我把tomcat改成控制台方式后,显示test.property找不到,可是这个文件在WEB-INF/classes/test/有,在WEB-INF/classes/也有,在web目录下还有,我应该放到哪?
回复
Andrawu 2002-05-27
你的InputStream mf=new FileInputStream("test.property");
应改为:
InputStream mf=new FileInputStream("c:\\test.properties");
你的test.property是错误的文件名,应为test.properties。
test.properties应放在C的根目录下,可有路径。
我调试通过。
回复
Andrawu 2002-05-27
InputStream mf=new FileInputStream("test.property");
要改为:你的test.propert是错误的名称应为test.properties
放在C的根目录下为:可以为C:\\path\\test.properties。
目录要指定。
InputStream mf=new FileInputStream("c:\\test.properties");
我调试通过的。
回复
wjfxiao 2002-05-27
tomcat后台又没有报错?
回复
Code4Quality 2002-05-27
to bbshero:
完整路径WEB-INF/classes/test/PropertyManager.class
回复
bbshero 2002-05-27
你的bean放在tomcat 4.0.1的什么地方?
回复
Code4Quality 2002-05-27
to bbshero:
tomcat 4.0.1
to andraw
按照你的办法还是不行!
回复
Andrawu 2002-05-27
你的test.property文件内容可能有错误,应为:
ConnectionString=jdbc:odbc:test
我上面的方法和你的是一样的。
回复
bbshero 2002-05-27
你的web 服务器是什么的?
回复
Code4Quality 2002-05-27
各种位置我都试过了,返回值全是null。
回复
Andrawu 2002-05-27
<%@ page language="java" contentType="text/html;charset=gb2312" %>
<HTML>
<BODY>

<%
test.PropertyManager pm = new test.PropertyManager() ;
String test=pm.getConnectionString();
out.println(test);
%>
</BODY>
</HTML>
这样试试。
回复
wjfxiao 2002-05-27
安你的写法,
*.properties文件一应该和你的*.class文件应在一起。
(tomcat下)
回复
wjfxiao 2002-05-27
test.property的路径正确否?
回复
发动态
发帖子
Web 开发
创建于2007-09-28

7.9w+

社区成员

Java Web 开发
申请成为版主
社区公告
暂无公告