JSP页面调试问题,请帮助解决...

Liangao 2004-11-02 02:49:36
public class Test{
public static String sbDome(){
java.sql.Connection conn =null;
java.sql.Statement stmt = null;
java.sql.ResultSet rs = null;
StringBuffer sbHtml = new StringBuffer();
String sDBdriver = "oracle.jdbc.driver.OracleDriver";
String DBUrl = "jdbc:oracle:thin:@192.168.4.72:1521:orcl";
String UserName = "XXX";
String PassWord = "XXX";
try{
Class.forName(sDBdriver);
conn =java.sql.DriverManager.getConnection(DBUrl,UserName,PassWord);
stmt = conn.createStatement();
rs = stmt.executeQuery("Select * from table_BM");
sbHtml.append("<table border=\"1\" width=\"100%\">\n");
while (rs.next()) {
sbHtml.append(" <tr>\n");
sbHtml.append(" <td width=\"50%\">"+rs.getString("BM_DM")+"</td>\n");
sbHtml.append(" <td width=\"50%\">"+rs.getString("BM_MC")+"</td>\n");
sbHtml.append(" </tr>\n");
}
sbHtml.append("</table>");
}catch (java.lang.Exception ex) {
System.out.print(ex.getMessage());
}
conn.close;
stmt.close;
rs.close;
return (sbHtml.toString());
}

public static String sbTest(){
StringBuffer sbHtml = new StringBuffer();
sbHtml.append("<table border=\"1\" width=\"100%\">");
sbHtml.append(" <tr>");
sbHtml.append(" <td width=\"33%\">"+"asdfdafadsf"+"</td>");
sbHtml.append(" <td width=\"33%\">"+"sadfasdfdsf"+"</td>");
sbHtml.append(" <td width=\"34%\">"+"fasdfasdfad"+"</td>");
sbHtml.append(" </tr>");
sbHtml.append(" <tr>");
sbHtml.append(" <td width=\"33%\">hkhjkhj</td>");
sbHtml.append(" <td width=\"33%\">bjkhjk</td>");
sbHtml.append(" <td width=\"34%\">hjkhjk</td>");
sbHtml.append(" </tr>");
sbHtml.append("</table>");
return sbHtml.toString();
}
}
我在JSP页面调用如下:
<%
Test sbT = new Test();
out.print(sbT.sbDome());
%>
页面为什么没有内容可以显示????
 而调用 sbTest()会有内容显示??sbDome方法和sbTest方法有什么吗?为什么效果会不一样??

在 main()方法中
 out.println(sbDome());
是有结果如下:
<table border="1" width="100%">
<tr>
<td width="50%">10</td>
<td width="50%">经理办公室</td>
</tr>
<tr>
<td width="50%">20</td>
<td width="50%">网络部</td>
</tr>
<tr>
<td width="50%">30</td>
<td width="50%">市场部</td>
</tr>
<tr>
<td width="50%">40</td>
<td width="50%">财务部</td>
</tr>
<tr>
<td width="50%">50</td>
<td width="50%">技术部</td>
</tr>
</table>
为什么(sbDome())在JSP页面表格无法显示?sbTest()方法却可以显示。
...全文
78 点赞 收藏 6
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
fuzuyuan 2004-11-02
如果你的classes12.zip还没有改过来的话将classes12.zip改为classes12.jar
回复
shaopin 2004-11-02
因为你测试bean时是一个环境,这个是测试工具中或classpath里设置驱动程序类的,而web应用是另一个环境,当然不一样
回复
shaopin 2004-11-02
发布时在WEB-INF的lib里放入classes12.jar
测试时可将其放入tomcat\common\lib下
回复
Liangao 2004-11-02
关闭时,我本来己写的方法用于关闭的,帖到这里时改成这样,当时没太注意,在关闭方法里不存在这个问题。
很奇怪的是为什么在main()方法里,连接数据不会有问题,但在JSP页面提示:No suitable driver,是不是这个oracle.jdbc.driver.OracleDriver数据库驱动没加好,如果是这原因又为什么在main()方法却又可以取到数据库数据呢?
回复
shaopin 2004-11-02
应该是取数据有问题了,你关闭的顺序也不对
后台就没有异常吗?
回复
yaray 2004-11-02
try{
...

//注意关闭顺序!!!
rs.close();
stmt.close();
conn.close()
}catch(Exception ex){
...
}
回复
发动态
发帖子
Web 开发
创建于2007-09-28

7.9w+

社区成员

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