class not found的问题

ffflyingwolf 2003-02-07 08:29:40
大家帮帮我吧
出问题的是用来连接数据库的一个class,我是把文件放在tomcat\webapps\root下的access_dbconnect.class是放在tomcat\webapps\root\web-inf\classes下的,哪位高人帮帮我吧:

org.apache.jasper.JasperException: Unable to compile class for JSP..\work\localhost\_\_0002fregister_00032_0002ejspregister2_jsp_0.java:65: Class access_dbconnect not found.
access_dbconnect register = null;
^
..\work\localhost\_\_0002fregister_00032_0002ejspregister2_jsp_0.java:68: Class access_dbconnect not found.
register= (access_dbconnect)
^
..\work\localhost\_\_0002fregister_00032_0002ejspregister2_jsp_0.java:73: Class access_dbconnect not found.
register = (access_dbconnect) java.beans.Beans.instantiate(this.getClass().getClassLoader(), "access_dbconnect");
^
3 errors

那个class的原文件如下:
package access;
import java.sql.*;


public class access_dbconnect{
String sDBDriver="sun.jdbc.odbc.JdbcOdbcDriver";
String sConnStr="jdbc:odbc:user_info";
Connection conn=null;
ResultSet rs=null;

public access_dbconnect(){
try{
Class.forName(sDBDriver);
}
catch(java.lang.ClassNotFoundException e){
System.err.println("Class access_dbconnect not found!"+e.getMessage());}
}


public ResultSet executeQuery(String sql){
rs=null;
try{
conn=DriverManager.getConnection(sConnStr);
Statement stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
}
catch(SQLException ex){
System.err.println("aq.executeQuery:"+ex.getMessage());
}
return rs;
}

public ResultSet executeUpdate(String sql){
rs=null;
try{
conn=DriverManager.getConnection(sConnStr);
Statement stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
}
catch(SQLException ex){
System.err.println("aq.executeQuery:"+ex.getMessage());
}
return rs;
}
}


...全文
50 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
sparkwu 2003-02-10
  • 打赏
  • 举报
回复
Hello!!
I always simulated your environment.
Execute Successed!!
Your *.jsp Source have four Error!!!
1.%@page language="java" import="java.sql.*"%>
=><%@page language="java" import="java.sql.*"%>

2.<jsp:useBean id="register" scope="page" class="access_dbconnect"/>
=><jsp:useBean id="register" scope="page" class="access.access_dbconnect"/>

3.String sql="select * from user_info where name='"+username+"'";
=>String sql="select * from user_info where username='"+username+"'";
I don't know. Your Database cloumn name: "name" or "username".
If your "username" cloumn name is "username", Really Maybe "name"

4.String strSQL="insert into user_info values('"+username+"','"+truename+"','"+password+"','"+room+"','"+tel+"',"+email+"','"+qq+"','"+city+"','"+college+"')";
=>String strSQL="insert into user_info values('"+username+"','"+truename+"','"+password+"','"+room+"','"+tel+"','"+email+"','"+qq+"','"+city+"','"+college+"')";
Modify before: ,"+email+"',
lost "'"
Modify after: ,'"+email+"',

Good Luck!!!
ffflyingwolf 2003-02-10
  • 打赏
  • 举报
回复
非常感谢大家热心地对我的帮助,我的问题已经解决了~~~~~~~~~~~我在这里特别感谢sparkwu,zxhong,goldish,robert9999,qxjavajava,:zhu_liping,zxl19790710对我的援助,尤其感谢sparkwu仔细地帮我找出了我写的错误~~~~~~~~~~~~~再次感谢所有帮助我的人~~~~~~~谢谢!!!
zxhong 2003-02-09
  • 打赏
  • 举报
回复
对象为null
贴出你的代码!
qxjavajava 2003-02-09
  • 打赏
  • 举报
回复
Root Cause:
java.lang.NullPointerException
at _0002fregister_00032_0002ejspregister2_jsp_0._jspService(_0002fregister_00032_0002ejspregister2_jsp_0.java:104)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:184)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:328)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:407)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:251)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:977)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:196)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:977)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2041)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
at org.apache.catalina.valves.ValveBase.invokeNext(ValveBase.java:242)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:414)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:975)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:159)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:977)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:818)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:897)
at java.lang.Thread.run(Thread.java:484
Root Cause:
java.lang.NullPointerException
at _0002fregister_00032_0002ejspregister2_jsp_0._jspService(_0002fregister_00032_0002ejspregister2_jsp_0.java:104)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:184)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:328)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:407)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:251)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:977)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:196)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:977)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2041)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
at org.apache.catalina.valves.ValveBase.invokeNext(ValveBase.java:242)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:414)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:975)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:159)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:977)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:818)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:897)
at java.lang.Thread.run(Thread.java:484
这些已经说明,你已经找到了那个类了

现在的问题是你的jsp页面的问题

NullPointerException ---------一个很常见的问题,某一个,调用对象的方法是空的,。
zxl19790710 2003-02-09
  • 打赏
  • 举报
回复
web-inf->WEB-INF
ffflyingwolf 2003-02-09
  • 打赏
  • 举报
回复
我重启了以后还是不管用啊~~~~~~~~~~~~~大家帮帮我吧,我已经很郁闷了~~~~~~我才学JSP,很菜啊~~~~~~~~~~~~
ffflyingwolf 2003-02-09
  • 打赏
  • 举报
回复
首先谢谢大家热心的帮我这个菜鸟~~~~~~~~~~~~
可是我用zxhong的代码试过了,还是会出现上面的问题,而且我在另一个页面里也有校验传递过来参数不能为空的语句,应该不大会是参数为空的问题吧~~~~~~~?

我被这个DD已经郁闷了好几天了,拜托各位高手拯救一下我吧~~~~~~~~
zhu_liping 2003-02-09
  • 打赏
  • 举报
回复
修改之后需要重启你的tomcat呀
zxhong 2003-02-09
  • 打赏
  • 举报
回复
sql语句中有参数为空

你用我上面的代码试过了吗?
ffflyingwolf 2003-02-09
  • 打赏
  • 举报
回复
可是我打包,放在classes的子目录下面还是回出现上面的问题啊~~~~~~~~~~~~另外在出现上面的 问题时,在服务器java的那个窗口里面,会出现这么一句话:

aq.executeQuery:[Microsoft][ODBC Microsoft Access Driver] 参数不足,期待是 1。
goldish 2003-02-09
  • 打赏
  • 举报
回复
Tomcat4.0以后,class文件要放在classes的子目录下面,不能直接放在classes下面,也就是说,要将你的class放在一个包里面。
zxhong 2003-02-09
  • 打赏
  • 举报
回复
String sql="select * from user_info ";
---》
if(username!=null||!username.equals(""))
{
sql=sql+" where name='"+username+"'";
}
robert9999 2003-02-09
  • 打赏
  • 举报
回复
将你的class文件放在examples\web-inf\classes\access下,将jsp文件放在examples下应该是可以的,你试一试,你的bean用语句package access;打了包,直接放在classes下肯定是不行的。好运!
ffflyingwolf 2003-02-09
  • 打赏
  • 举报
回复
谢谢大家帮忙了~~~~~~~我的代码:

%@page language="java" import="java.sql.*"%>
<%@page contentType="text/html;charset=gb2312"%>
<%@page import="java.util.*"%>
<jsp:useBean id="register" scope="page" class="access_dbconnect"/>
<html>
<head>
<title>注册用户信息</title>
<meta http-equiv="Content-Type" content="text/html;charset=gb2312">
</head>
<body>
<div style="position:absolute; width:470; height:197px; z-index:4; left:170px; top:143px">
<div align="center">
<%

String username=request.getParameter("username");
String truename=request.getParameter("truename");
String password=request.getParameter("password");
String room=request.getParameter("room");
String tel=request.getParameter("tel");
String email=request.getParameter("email");
String qq=request.getParameter("qq");
String city=request.getParameter("city");
String college=request.getParameter("college");
String sql="select * from user_info where name='"+username+"'";
ResultSet rs=register.executeQuery(sql);

if(rs.next())
{rs.close();
%>
<table><tr><td><CENTER>用户存在!<a href='javascript:history.go(-1);'>返回</a></CENTER></td></tr></table>
<%}
else
{String strSQL="insert into user_info values('"+username+"','"+truename+"','"+password+"','"+room+"','"+tel+"',"+email+"','"+qq+"','"+city+"','"+college+"')";
register.executeUpdata(strSQL);

%><jsp:forward page="ok.htm"/><%}
%>


</div>
</div>
</body>
</html>

摆脱各位高手了~~~~~~~谢谢~~~~~~~~~
ffflyingwolf 2003-02-08
  • 打赏
  • 举报
回复
可是放在tomcat\webapps\root\web-inf\classes\access下,仍然会提示我class access_dbconnect not found啊,而且我没有用到access.access_dbconnect~~~~~~~~~这到底怎么回事啊??????
ffflyingwolf 2003-02-08
  • 打赏
  • 举报
回复
我上面class not found的问题现在倒是没出现了,不过现在出现了这么一堆DD,弄得我头晕啊~~~~~~~``哪位高人指点一下我这个菜鸟吧~~~~~~~~~~~

Exception Report:
javax.servlet.ServletException
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:481)
at _0002fregister_00032_0002ejspregister2_jsp_0._jspService(_0002fregister_00032_0002ejspregister2_jsp_0.java:139)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:184)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:328)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:407)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:251)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:977)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:196)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:977)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2041)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
at org.apache.catalina.valves.ValveBase.invokeNext(ValveBase.java:242)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:414)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:975)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:159)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:977)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:818)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:897)
at java.lang.Thread.run(Thread.java:484)

Root Cause:
java.lang.NullPointerException
at _0002fregister_00032_0002ejspregister2_jsp_0._jspService(_0002fregister_00032_0002ejspregister2_jsp_0.java:104)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:184)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:328)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:407)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:251)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:977)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:196)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:977)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2041)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
at org.apache.catalina.valves.ValveBase.invokeNext(ValveBase.java:242)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:414)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:975)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:159)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:977)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:818)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:897)
at java.lang.Thread.run(Thread.java:484
zxhong 2003-02-07
  • 打赏
  • 举报
回复
放在tomcat\webapps\root\web-inf\classes
->
放在tomcat\webapps\root\web-inf\classes\access下

81,115

社区成员

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

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