为什么会出现这种错误呢?

okzjq 2003-10-20 04:08:33
我用jbuilder写了一个bean和一个jsp页面,jsp调用bean正常,能从数据库读出数据。现我把bean(test整个目录)拷到本机上的Tomcat(不是jbuilder自带的)的C:\Tomcat\common\classes目录下,把jsp页面拷到C:\Tomcat\webapps\ROOT下,运行出现错误:
exception

org.apache.jasper.JasperException
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:248)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

。。。。。。
root cause

java.lang.NullPointerException
at org.apache.jsp.b_jsp._jspService(b_jsp.java:97)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:204)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)

我的代码如下:
package test;


import java.text.*;
import java.util.*;
import java.sql.*;

public class common {

String strDBDriver="";
String strConnStr="";
String strHint="";
ResultSet RS=null;
Connection conn=null;
Statement stmt=null;

public String getHint(){
return strHint;
}

public void setDBDriver(String s){
strDBDriver=""+s;
}

public String getDBDriver(){
return strDBDriver;
}

public String getConnStr(){
return strConnStr;
}

public void setConnStr(String s){
strConnStr=""+s;
}

public ResultSet getResultSet(){
return RS;
}

public boolean Initialization(String dbDriver,String dbConn){
strDBDriver=dbDriver;
strConnStr=dbConn;
return Initialization();
}

public boolean Initialization(){
try{
Class.forName(strDBDriver);
strHint="Initialization successfully";
return true;
}
catch(java.lang.ClassNotFoundException e){
strHint="Initialization:"+e.toString();
return false;
}
}

public String chkStrk(String inStr){
StringBuffer result=new StringBuffer("");
char cc;

if(inStr!=null){
for(int i=0;i<inStr.length();i++){
cc=inStr.charAt(i);
if(cc=='\''){
result.append('\'');
}
result.append(cc);
}
}
return result.toString();
}

public ResultSet executeQuery(String sql){
RS=null;
try{
conn=DriverManager.getConnection(strConnStr);
stmt=conn.createStatement();
RS=stmt.executeQuery(sql);
}
catch(SQLException ex){
strHint="executeQuery:"+ex.getMessage();
}

return RS;
}

public boolean executeUpdate(String sql){
try{
conn=DriverManager.getConnection(strConnStr);
stmt=conn.createStatement();
stmt.executeUpdate(sql);
return true;
}
catch(SQLException ex){
strHint="executeUpdate:"+ex.getMessage();
return false;
}
}

public boolean closeConn(){
try{
if(RS!=null)
RS.close();
if(stmt!=null)
stmt.close();
if(conn!=null)
conn.close();
return true;
}
catch(SQLException ex){
strHint="CloseConn:"+ex.getMessage();
return false;
}
}

public common() {
}
}



<%@ page contentType="text/html;charset=gb2312" %>
<%@ page import="java.sql.*" %>
<html>
<head>
<title>
jsp2
</title>
</head>
<jsp:useBean id="DBBean" scope="session" class="test.common" />

<body bgcolor="#ffffff">
<h1>
JBuilder Generated JSP
</h1>
<font size=4>
<%
if(request.getParameter("DBDriver")==null){
%>
<form method=post action="b.jsp">
input DBDriver:
<input type=text name=DBDriver value="sun.jdbc.odbc.JdbcOdbcDriver"><br>
Input connection String:
<input type=text name=ConnStr value="jdbc:odbc:faq"><br>
Input SQLQuery:
<input type=text name=SQLStr value="select * from faqs">
<br>
<input type=submit value="submit">
</form>
<% }
else {
if(!DBBean.Initialization(request.getParameter("DBDriver"),
request.getParameter("ConnStr")))
{
%>
<%=DBBean.getHint()%>
<% }
else { %>
<%! ResultSet rs; %>
<% rs=DBBean.executeQuery(request.getParameter("SQLStr")); %>
<% int j=rs.getMetaData().getColumnCount();%>
<table Border="1">
<tr>
<% for(int i=1;i<=j;++i) { %>
<td><%=rs.getMetaData().getColumnName(i) %>
</td>
<% } %>
</tr>
<% while(rs.next()) { %>
<tr>
<%for(int i=1;i<=j;i++) {%>
<td><%=rs.getString(i)%>
</td>
<% } %>
</tr>
<% } %>
</table>
<% }
}
if(!DBBean.closeConn()){
%>
<%=DBBean.getHint()%>
<% } %>
</font>
</body>
</html>

...全文
30 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
fft123 2003-10-21
  • 打赏
  • 举报
回复
web-inf要大写
bean的class放到:WEB-INF/classes/test目录下
没有就自己建
okzjq 2003-10-21
  • 打赏
  • 举报
回复
web-inf下面没有classes目录,自添加上去也不行啊?
kofwr 2003-10-20
  • 打赏
  • 举报
回复
你的class放的目录结构不对,应该放在你jsp根目录下的web-inf/classes/里面
凋零的老树 2003-10-20
  • 打赏
  • 举报
回复
具体是哪一行,发生空指针错误?

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧