说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

jsp调用bean出错,请高手指点

编辑:说三道四文库 发布时间:2018-06-22 11:03
HTML文档下载 WORD文档下载 PDF文档下载
Bean 放在D:\tomcat\work\localhost\myjsp\jsp\mysql.class
调用Bean 的文件在  E:\myjsp\lts\index.jsp
bean的文件内容是:
package jsp;
import java.sql.*;

public class mysql{

String url = "jdbc:odbc:guestbook";//use your hostname and port number here
String login= "sa";
String password = "";

public Connection connection=null;
public Statement st = null;
public ResultSet rs = null;

public mysql(){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
DriverManager.setLoginTimeout(10);
}
catch(Exception e){
 e.printStackTrace();
}
}

public void sqlclose(){
try{
st.close();
connection.close();
}
catch(SQLException ex){
System.err.println("sqlcolse:"+ex.getMessage());
}
}

public ResultSet executeQuery(String sql){
try{
connection = DriverManager.getConnection(url,login,password);
st= connection.createStatement();
rs= st.executeQuery(sql);
}
catch(SQLException ex){
System.err.println("aq.executeQuery:"+ex.getMessage());
}
return rs;
}

public void executeUpdate(String sql){
try{
connection = DriverManager.getConnection(url,login,password);
st = connection.createStatement();
st.executeUpdate(sql);
}
catch(SQLException ex){
 System.err.println("aq.executeUpdate:"+ex.getMessage());
 }
}
}
出错信息为:


A Servlet Exception Has Occurred
Exception Report:
javax.servlet.ServletException: jsp/mysql
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:415)
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.NoClassDefFoundError: jsp/mysql
at java.lang.Class.newInstance0(Native Method)
at java.lang.Class.newInstance(Class.java:237)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.load(JspServlet.java:123)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.loadIfNecessary(JspServlet.java:161)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:171)
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)

你的项目是哪个?e盘的myjsp吗?
bean应该放在项目目录下的web-inf\classes\ 

D:\tomcat\work\ 是jsp运行时编译文件的临时文件目录,你怎么把bean放那里呀?
你应该新建一个web-inf文件夹,再目录下新建个一个classes文件夹,放在这个目录下面
up
应该放在
D:\tomcat\webapps\myjsp\web-inf\classes\jsp\mysql.class
你在Jsp中怎么引用的?
放错地方了。。。。。。。。

WEB_INFO下面就行了~
就是放错了地方bean的class文件应该放在web-inf\classes里面的
位置问题
WEB-INF下面有2个文件夹,一个是lib还有一个是classes  还应有个web.xml文件

类文件防在classes下 lib 下放外部引用的包
谢谢各位,是位置不对!弄好了。感谢!
迟了
应该是路径有问题。servlet也不对。
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘