CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web 开发

大家帮我看看这个Bean错在那里

楼主xhusa(立风)2006-06-02 08:08:32 在 Java / Web 开发 提问

/*conn.java*/  
  import   java.io.*;  
  import   java.sql.*;  
  import   java.net.*;  
  import   java.util.*;  
   
  public   class   conn{  
  private   String   sqlDriver   =   "com.microsoft.jdbc.sqlserver.SQLServerDriver";//数据库驱动  
  private   String   sqlUrl         =   "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=Sports";//数据库连接字串  
  private   String   sqlUser       =   "sa";//数据库用户名  
  private   String   sqlPsw         =   "asd123";//数据库密码  
   
  //private   Connection   conn   =   null;  
  //private   Statement   stmt   =   null;  
  //ResultSet   rs;  
  //int   iCount;  
  public   void   conn()//构造函数类化驱动  
  {  
  try  
  {  
  Class.forName(sqlDriver);  
  }  
          catch(ClassNotFoundException   e)  
  {  
  System.out.println(e.toString());  
          }  
  }  
   
  public   int   UpdateRecord(String   SQL)//不返回记录集的操作  
  {  
  Connection   con   =   null;  
  Statement   stmt   =   null;  
  int   iCount   =   0;  
  try  
  {  
  con     =   DriverManager.getConnection(sqlUrl,sqlUser,sqlPsw);  
  stmt   =   con.createStatement();  
  iCount   =   stmt.executeUpdate(SQL);  
  con.close();  
  stmt.close();  
  }  
  catch(SQLException   ex)  
  {  
  System.out.println(ex.toString());  
  }  
  return   iCount;//返回更新的记录数  
  }  
   
  public   ResultSet   SelectRecord(String   SQL)//返回记录集的操作  
  {  
  Connection   con   =   null;  
  Statement   stmt   =   null;  
  ResultSet   rs       =   null;  
  try  
  {  
  con     =   DriverManager.getConnection(sqlUrl,sqlUser,sqlPsw);  
  stmt   =   con.createStatement();  
  rs       =   stmt.executeQuery(SQL);  
  con.close();  
  stmt.close();  
  }  
  catch(SQLException   ex)  
  {  
  System.out.println(ex.toString());  
  }  
  return   rs;  
  }  
  }  
   
  我在调用的时候报错说  
  org.apache.jasper.JasperException:   Unable   to   compile   class   for   JSP  
   
  An   error   occurred   at   line:   3   in   the   jsp   file:   /Sports/index.jsp  
   
  Generated   servlet   error:  
          [javac]   Compiling   1   source   file  
   
  D:\Tomcat\work\Standalone\localhost\_\Sports\index_jsp.java:45:   cannot   resolve   symbol  
  symbol     :   class   conn    
  location:   class   org.apache.jsp.index_jsp  
              conn   dbopen   =   null;  
              ^  
   
   
   
  An   error   occurred   at   line:   3   in   the   jsp   file:   /Sports/index.jsp  
   
  Generated   servlet   error:  
  D:\Tomcat\work\Standalone\localhost\_\Sports\index_jsp.java:47:   cannot   resolve   symbol  
  symbol     :   class   conn    
  location:   class   org.apache.jsp.index_jsp  
                  dbopen   =   (conn)   pageContext.getAttribute("dbopen",   PageContext.PAGE_SCOPE);  
                                      ^  
   
   
   
  An   error   occurred   at   line:   3   in   the   jsp   file:   /Sports/index.jsp  
   
  Generated   servlet   error:  
  D:\Tomcat\work\Standalone\localhost\_\Sports\index_jsp.java:50:   cannot   resolve   symbol  
  symbol     :   class   conn    
  location:   class   org.apache.jsp.index_jsp  
                          dbopen   =   (conn)   java.beans.Beans.instantiate(this.getClass().getClassLoader(),   "conn");  
  刚学jsp各位大侠帮忙! 问题点数:50、回复次数:28Top

1 楼imA(男的不会,会的不男)回复于 2006-06-02 08:21:02 得分 1

没找到类,肯定是你放置的位置不对。Top

2 楼vannel(CHLL.Vannel)回复于 2006-06-02 08:21:53 得分 2

在JSP上面写一行<%@   page   import="***.***.conn"%>Top

3 楼xiongbing528(多情剑客无情剑)回复于 2006-06-02 08:44:02 得分 5

有没注意。楼主的JAVA文件少了     package   ...呵呵。加上看看Top

4 楼sun_cat(302216)回复于 2006-06-02 09:05:00 得分 2

public   void   conn()//构造函数类化驱动  
  {  
  try  
  {  
  Class.forName(sqlDriver);  
  }  
          catch(ClassNotFoundException   e)  
  {  
  System.out.println(e.toString());  
          }  
  }  
   
  搂住你的构造函数有问题,声明的时候  
  public   conn(){  
  ..........  
  }  
  是不需要void的,你这个类肯定没有编译过Top

5 楼harston(顽石)(风停了,雨停了,一路泥泞~)回复于 2006-06-02 09:08:54 得分 1

先改楼上说的两个地方,再说吧Top

6 楼xhusa(立风)回复于 2006-06-02 09:19:15 得分 0

两处地方都改了,还是不行,报错还是老样子  
  再得class文件应该是放在web-inf的classes文件夹中呀Top

7 楼xhusa(立风)回复于 2006-06-02 09:23:56 得分 0

就是编译通过了,才会在访问jsp文件的时候出现错误Top

8 楼xhusa(立风)回复于 2006-06-02 09:52:09 得分 0

急需解决Top

9 楼vannel(CHLL.Vannel)回复于 2006-06-02 09:56:25 得分 1

你是用Jbuilder吗?如果是的话,在工程中把tomcat5.0换成5.5   ,反正更改一下服务器。我之前出现过类似的情况Top

10 楼xhusa(立风)回复于 2006-06-02 10:29:19 得分 0

不是用jbuilder,用editplus写的程序Top

11 楼toiler(秤砣)回复于 2006-06-02 10:36:15 得分 1

检查一下你在index.jsp里引用这个bean是否正确,这个bean的位置放正确了没有。Top

12 楼JIEK_ONE(weiwei)回复于 2006-06-02 10:56:18 得分 2

给我看下你的index.jsp文件Top

13 楼xhusa(立风)回复于 2006-06-02 11:46:20 得分 0

/*index.jsp*/  
  <%@   page   language="java"%>    
  <%@   page   contentType="text/html;   charset=GB2312"   %>  
  <%@   page   import="java.sql.*"%>  
  <jsp:useBean   id="dbopen"   class="conn"   scope="page"/>  
  <html><title></title>  
  <head></head>  
  <body>  
  <table>  
  <%  
  ResultSet   rs=null;  
  rs   =   dbopen.SelectRecord("select   *   from   s_deputy");  
  rs.last();  
  int   number   =   rs.getRow();  
  out.println(number);  
  while(rs.next())  
  {  
  out.println("<TR>");  
  for(int   i=1;i<6;i++)  
  {  
  out.println("<TD>"+rs.getString(i)+"</TD>");  
  }  
  out.println("</TR>");  
  }  
  %>  
  </td></tr></table></body></html>Top

14 楼xhusa(立风)回复于 2006-06-02 11:58:41 得分 0

我的conn.class文件放在了web-inf中的classes文件夹中Top

15 楼julyboxer()回复于 2006-06-02 12:51:47 得分 5

楼主。。好像应该在classes文件夹中另外新建一个文件如temp     然后在java类上面放上一个package   temp;     编译通过后,再把.class文件放到temp文件夹中去,  而后网页要添加  
  <%@   page   import="temp.conn"%> 这样应该就可以了。。记住要在classes文件夹中新建一个文件夹 然后放入.class文件Top

16 楼xhusa(立风)回复于 2006-06-02 13:11:27 得分 0

楼上的还是不行,我也这么尝试啦,但是还是不行  
  org.apache.jasper.JasperException:   Unable   to   compile   class   for   JSP  
   
  An   error   occurred   at   line:   4   in   the   jsp   file:   /Sports/index.jsp  
   
  Generated   servlet   error:  
          [javac]   Compiling   1   source   file  
   
  D:\Tomcat\work\Standalone\localhost\_\Sports\index_jsp.java:8:   package   db   does   not   exist  
  import   db.conn;  
                      ^  
  D:\Tomcat\work\Standalone\localhost\_\Sports\index_jsp.java:47:   package   db   does   not   exist  
              db.conn   dbopen   =   null;  
                  ^  
   
   
   
  An   error   occurred   at   line:   4   in   the   jsp   file:   /Sports/index.jsp  
   
  Generated   servlet   error:  
  D:\Tomcat\work\Standalone\localhost\_\Sports\index_jsp.java:49:   package   db   does   not   exist  
                  dbopen   =   (db.conn)   pageContext.getAttribute("dbopen",   PageContext.PAGE_SCOPE);  
                                          ^  
   
   
   
  An   error   occurred   at   line:   4   in   the   jsp   file:   /Sports/index.jsp  
   
  Generated   servlet   error:  
  D:\Tomcat\work\Standalone\localhost\_\Sports\index_jsp.java:52:   package   db   does   not   exist  
                          dbopen   =   (db.conn)   java.beans.Beans.instantiate(this.getClass().getClassLoader(),   "db.conn");  
                                                  ^  
  4   errors  
  Top

17 楼xhusa(立风)回复于 2006-06-02 13:16:25 得分 0

我的站点在Root/Sports下面,我的class应该放在  
  Root/Sports/WEB-INF/classes  
  还是Root/WEB-INF/classes下面Top

18 楼xhusa(立风)回复于 2006-06-02 13:35:18 得分 0

我将之放到Root/WEB-INFO/classes文件夹中报这个错  
  org.apache.jasper.JasperException:   [Microsoft][SQLServer   2000   Driver   for   JDBC]Object   has   been   closed.  
  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)  
  at   org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)  
  at   org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)  
  at   org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)  
  at   org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)  
  at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)  
  at   org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)  
  at   org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)  
  at   org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)  
  at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)  
  at   org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)  
  at   org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)  
  at   org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)  
  at   org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)  
  at   org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)  
  at   org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)  
  at   org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)  
  at   org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)  
  at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)  
  at   org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)  
  at   org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)  
  at   org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)  
  at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)  
  at   org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)  
  at   org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)  
  at   org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:432)  
  at   org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:386)  
  at   org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:534)  
  at   org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:530)  
  at   java.lang.Thread.run(Thread.java:534)  
   
   
  root   cause    
   
  javax.servlet.ServletException:   [Microsoft][SQLServer   2000   Driver   for   JDBC]Object   has   been   closed.  
  at   org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:533)  
  at   org.apache.jsp.index_jsp._jspService(index_jsp.java:206)  
  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)  
  at   org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)  
  at   javax.servlet.http.HttpServlet.service(HttpServlet.java:853)  
  at   org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)  
  at   org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)  
  at   org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)  
  at   org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)  
  at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)  
  at   org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)  
  at   org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)  
  at   org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)  
  at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)  
  at   org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)  
  at   org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)  
  at   org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)  
  at   org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)  
  at   org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)  
  at   org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)  
  at   org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)  
  at   org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)  
  at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)  
  at   org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)  
  at   org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)  
  at   org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)  
  at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)  
  at   org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)  
  at   org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)  
  at   org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:432)  
  at   org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:386)  
  at   org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:534)  
  at   org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:530)  
  at   java.lang.Thread.run(Thread.java:534)  
   
  Top

19 楼yown(yong)回复于 2006-06-02 14:35:01 得分 3

要注意:在引用conn时,看有没有被关闭!  
   
  如:   if   (conn==null)   ...Top

20 楼yown(yong)回复于 2006-06-02 14:38:46 得分 5

public   ResultSet   SelectRecord(String   SQL)//返回记录集的操作  
  {  
  Connection   con   =   null;  
  Statement   stmt   =   null;  
  ResultSet   rs   =   null;  
  try  
  {  
  con   =   DriverManager.getConnection(sqlUrl,sqlUser,sqlPsw);  
  stmt   =   con.createStatement();  
  rs   =   stmt.executeQuery(SQL);  
  con.close();  
  stmt.close();  
  }  
  catch(SQLException   ex)  
  {  
  System.out.println(ex.toString());  
  }  
  return   rs;  
  }  
   
  这里返回rs时,已经是空的了,因为连接已关闭,建议链接在返回后关闭  
   
  再说你这种方法不太合理,建议你使用连接池!!!Top

21 楼yown(yong)回复于 2006-06-02 14:39:59 得分 2

con.close();  
  stmt.close();  
   
  应改成:  
  stmt.close();  
  con.close();  
  Top

22 楼JIEK_ONE(weiwei)回复于 2006-06-02 16:54:07 得分 15

在你的conn代码有许多地方写的不妥,我改进了下:  
  package   a;  
   
  import   java.io.*;  
  import   java.sql.*;  
  import   java.net.*;  
  import   java.util.*;  
   
  public   class   Conn{  
  private   String   sqlDriver   =   "com.microsoft.jdbc.sqlserver.SQLServerDriver";//数据库驱动  
  private   String   sqlUrl   =   "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=Sports";//数据库连接字串  
  private   String   sqlUser   =   "sa";//数据库用户名  
  private   String   sqlPsw   =   "asd123";//数据库密码  
   
  private   Connection   con   =   null;  
  private   Statement   stmt   =   null;  
  ResultSet   rs;  
  //int   iCount;  
  public   Conn()//构造函数类化驱动  
  {  
  try  
  {  
  Class.forName(sqlDriver);  
  con   =   DriverManager.getConnection(sqlUrl,sqlUser,sqlPsw);  
  }  
  catch(Exception   e)  
  {  
  System.out.println(e.toString());  
  }  
  }  
   
  public   int   UpdateRecord(String   SQL)//不返回记录集的操作  
  {  
   
  int   iCount   =   0;  
  try  
  {  
   
  stmt   =   con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);  
  iCount   =   stmt.executeUpdate(SQL);  
  //con.close();  
  //stmt.close();  
  }  
  catch(SQLException   ex)  
  {  
  System.out.println(ex.toString());  
  }  
  return   iCount;//返回更新的记录数  
  }  
   
  public   ResultSet   SelectRecord(String   SQL)//返回记录集的操作  
  {  
  try  
  {  
  //你写的是stmt   =   con.createStatement();这样写效率是高,但是只能够用rs.next(),不可以用rs.last()等方法  
  stmt   =   con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);  
  rs   =   stmt.executeQuery(SQL);  
  //con.close();  
  //stmt.close();  
  }  
  catch(SQLException   ex)  
  {  
  System.out.println(ex.toString());  
  }  
  return   rs;  
  }  
   
  //关闭连接  
  public   int   closeConn(){  
  int   result   =   0;  
  try{  
  rs.close();  
  stmt.close();  
  con.close();  
  result   =   1;  
  }catch(SQLException   e){  
  System.out.println(e.getMessage());  
  }  
  return   result;  
  }  
  }  
   
  <%@   page   language="java"%>  
  <%@   page   contentType="text/html;   charset=GB2312"   %>  
  <%@   page   import="java.sql.*"%>  
  <jsp:useBean   id="dbopen"   class="a.Conn"   scope="page"/>  
  <html><title></title>  
  <head></head>  
  <body>  
  <table>  
  <%  
  ResultSet   rs=null;  
   
  rs   =   dbopen.SelectRecord("select   *   from   s_deputy");  
  boolean   s   =   rs.last();  
  int   number   =   rs.getRow();  
  out.println(number);  
  rs.beforeFirst();//返回结果集开始  
  while(rs.next())  
  {  
  out.println("<TR>");  
  for(int   i=1;i<4;i++)  
  {  
  out.println("<TD>"+rs.getString(i)+"</TD>");  
  }  
  out.println("</TR>");  
  }  
  rs.close();  
  int   a   =   0;  
  a   =   dbopen.closeConn();  
  %>  
  </td></tr></table></body></html>  
  <script>  
  if(<%=a%>==0)  
  alert("关闭数据库连接错误!");  
  </script>  
  LZ先拿去试下,有什么问题在说Top

23 楼xhusa(立风)回复于 2006-06-02 17:33:12 得分 0

楼上的,按照你的程序写出来还是报以下错误  
  org.apache.jasper.JasperException:   [Microsoft][SQLServer   2000   Driver   for   JDBC]Object   has   been   closed.  
  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)  
  at   org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)  
  at   org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)  
  at   org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)  
  at   org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)  
  at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)  
  at   org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)  
  at   org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)  
  at   org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)  
  at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)  
  at   org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)  
  at   org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)  
  at   org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)  
  at   org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)  
  at   org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)  
  at   org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)  
  at   org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)  
  at   org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)  
  at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)  
  at   org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)  
  at   org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)  
  at   org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)  
  at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)  
  at   org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)  
  at   org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)  
  at   org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:432)  
  at   org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:386)  
  at   org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:534)  
  at   org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:530)  
  at   java.lang.Thread.run(Thread.java:534)  
   
   
  root   cause    
   
  javax.servlet.ServletException:   [Microsoft][SQLServer   2000   Driver   for   JDBC]Object   has   been   closed.  
  at   org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:533)  
  at   org.apache.jsp.test_jsp._jspService(test_jsp.java:102)  
  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)  
  at   org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)  
  at   javax.servlet.http.HttpServlet.service(HttpServlet.java:853)  
  at   org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)  
  at   org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)  
  at   org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)  
  at   org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)  
  at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)  
  at   org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)  
  at   org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)  
  at   org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)  
  at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)  
  at   org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)  
  at   org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)  
  at   org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)  
  at   org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)  
  at   org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)  
  at   org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)  
  at   org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)  
  at   org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)  
  at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)  
  at   org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)  
  at   org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)  
  at   org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)  
  at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)  
  at   org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)  
  at   org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)  
  at   org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:432)  
  at   org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:386)  
  at   org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:534)  
  at   org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:530)  
  at   java.lang.Thread.run(Thread.java:534)  
   
  我就不懂,为什么会说sql   server的对象被关闭Top

24 楼JIEK_ONE(weiwei)回复于 2006-06-02 17:45:50 得分 3

你直接把我的代码COPY了,然后也提示Object   has   been   closed?Top

25 楼xhusa(立风)回复于 2006-06-02 17:54:04 得分 0

对,但是我不用bean,真接写jsp文件链接数据又是正确的Top

26 楼JIEK_ONE(weiwei)回复于 2006-06-02 17:59:55 得分 2

这个程序我自己调试了没有问题,你试下自己调试,例如可以打开MSSQL的事件探查器,看看BEAN是否执行了SQL语句,还有可以在BEAN的一些地方打印一些消息等等Top

27 楼xhusa(立风)回复于 2006-06-02 18:16:26 得分 0

我重启了tomcat,然后删除了work下的servelet文件,再开始就可以啦Top

28 楼xhusa(立风)回复于 2006-06-02 18:16:37 得分 0

谢谢Top

相关问题

关键词

得分解答快速导航

  • 帖主:xhusa
  • imA
  • vannel
  • xiongbing528
  • sun_cat
  • harston
  • vannel
  • toiler
  • JIEK_ONE
  • julyboxer
  • yown
  • yown
  • yown
  • JIEK_ONE
  • JIEK_ONE
  • JIEK_ONE

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo