你的tomcat是不是自动编译的呢?bean有没有编译过?

解决方案 »

  1.   

    谢谢 风雨:
       我的BEAN编译过了。我的BEANS的开始: package xbook.bookstore.
    我觉得这样是没什么问题的。不知你是怎样认为的?谢谢!
      

  2.   

    哦。我在编译时,他说javax.sevlet这个包找不到,怎么会事,这个包再哪儿?
    我的TOMCAT好象没有这个包。请教各位了。在先等待!
      

  3.   

    我的一个BEANS:
    package xbook.common ;  import java.lang.* ;
      import java.sql.* ;
      import java.util.* ;
      import javax.servlet.* ;  public class ConnPool {
        private static final int defaultMaxConnections=3 ;      private Vector  freeConnections ;
        private Hashtable  boundConnections ;
        private String  driverName ;
        private String  jdbcURL ;
        private String  username ;
        private String  password ;
        private int maxConnections ;
        
    // ------------------------------------ Constructot -------------------------------------
        public ConnPool( int numConnections ) {
          maxConnections=numConnections ;
          boundConnections=null ;
          freeConnections=null ;
          driverName="" ;
          jdbcURL="" ;
          username="" ;
          password="" ;
        }// --------------------------------------------------------------------------------------
        public ConnPool() {
          this( defaultMaxConnections ) ;
        }
        public void closeDB() throws SQLException {
          if( boundConnections!=null ) {
            for( Enumeration e=boundConnections.elements() ; e.hasMoreElements() ; ) {
             Connection conn=(Connection)e.nextElement() ;
             conn.close() ;
            }
            boundConnections.clear() ;
            boundConnections=null ;
          }
          
          if( freeConnections!=null ) {
            for( Enumeration e=freeConnections.elements() ; e.hasMoreElements() ; ) {
             Connection conn=(Connection)e.nextElement() ;
             conn.close() ;
            }
            freeConnections.removeAllElements() ;
            freeConnections=null ;
          }
        }
        public synchronized Connection getConnection()
        throws SQLException {
          if( freeConnections==null )
            throw new SQLException( "The conection pool has not been established yet." ) ;
          if( boundConnections.get( Thread.currentThread() )!=null )
            throw new SQLException( "Cannot get connections over once for this current running thread." ) ;
          try {
            if( freeConnections.size()==0 )
              wait() ;
          }
          catch( InterruptedException ex ) {
           throw new SQLException( ex.toString() ) ;
          }
          Connection conn=(Connection)freeConnections.firstElement() ;
          freeConnections.removeElement( conn ) ;
          boundConnections.put( Thread.currentThread(), conn ) ;      return conn ;
        }
            public void openDB( String drvName, String url,
    String uname, String passwd )
        throws SQLException {
          try {
            boundConnections=new Hashtable( maxConnections ) ;
            freeConnections=new Vector( maxConnections ) ;
            Class.forName( drvName ) ;
            for( int i=0 ; i<maxConnections ; i++ )
              freeConnections.addElement( DriverManager.getConnection( url ,uname ,passwd ) ) ;
          }
          catch( Exception ex ) {
           boundConnections=null ;
           freeConnections=null ;
            throw new SQLException( ex.toString() ) ;
          }
        }
        public synchronized void returnConnection()
        throws SQLException {
          Connection conn=(Connection)boundConnections.remove( Thread.currentThread() ) ;
          if( conn==null )
            throw new SQLException( "The connection which this current running thread got is not found." ) ;
          freeConnections.addElement( conn ) ;
          notify() ;
        }
            public void setConnectionSwitch( String on_off ) throws ServletException {
          try {
           if( on_off.equalsIgnoreCase( "ON" ) )
              openDB( driverName, jdbcURL, username, password ) ;
            else if( on_off.equalsIgnoreCase( "OFF" ) )
              closeDB() ;
          }
          catch( SQLException ex ) {
           throw new ServletException( ex.toString() ) ;
          }
        }
        public void setMaxConnections( int numConnections ) {
          maxConnections=numConnections ;
        }
            public void setDriverName( String drvName ) {
          driverName=drvName ;
        }
        public void setJdbcURL( String url ) {
          jdbcURL=url ;
        }
        public void setUserName( String uname ) {
          username=uname ;
        }
        public void setPassword( String passwd ) {
          password=passwd ;
        }
      }怎高啊?请教了?第一次做JSP。好多不懂!
      

  4.   

    d:\Tomcat\webapps\ROOT\parton\WEB-INF\classes\也加到classpath里去看看,这肯定不是你程序的原因.
      

  5.   

    to xiaofenguser(风雨) :
       我的JAVAX。SERVLET这个包找不到,怎加啊。我的TOMCAT的LIB中没有这个包。  怎么办,谢了!
      

  6.   

    javax.sevlet 在tomcat\bin\servlet.jar下或者是lib下
    你在classpath下加上tomcat\bin\servlet.jar试试。
      

  7.   

    javax.servlet包在tomcat的lib目录下,在resin里是jsdk23.jar,在tomcat里你找一下.
      

  8.   

    谢谢两位,SERVLET。JAR我已经加了,成功了,可是,还是找不到我的BEANS啊!
    请教两位了!谢谢!呵呵!
      

  9.   


    具体错误只这样的:
    org.apache.jasper.JasperException: Unable to compile class for JSP..\work\localhost\_\_0002fparton_0002findex_0002ejspindex_jsp_0.java:11: Package xbook.common not found in import.
             xbook.common.*;
             ^
    ..\work\localhost\_\_0002fparton_0002findex_0002ejspindex_jsp_0.java:13: Package xbook.bookstore not found in import.
             xbook.bookstore.*;;
             ^
    ..\work\localhost\_\_0002fparton_0002findex_0002ejspindex_jsp_0.java:14: Class or interface declaration expected.
    import javax.servlet.*;
    ^
    ..\work\localhost\_\_0002fparton_0002findex_0002ejspindex_jsp_0.java:21: Superclass parton.HttpJspBase of class parton._0002fparton_0002findex_0002ejspindex_jsp_0 not found.
    public class _0002fparton_0002findex_0002ejspindex_jsp_0 extends HttpJspBase {
                                                                     ^
      

  10.   

    to 风雨:
      d:\Tomcat\webapps\ROOT\parton\WEB-INF\classes\我加到CLASSPATH中了,还是不行,错误同上!
      请教了!
      

  11.   

    你看看examples里的例子是不是可以运行,可以得话把jsp和bean放到examples相关目录下试试,看看在那会不会报错
      

  12.   

    to nimaguixing(TNT):
      我的Tomcat默认的是在WEBAPPS\ROOT下,在这个目录下的*。JSP是可以行的通的!
      

  13.   

    把这句:
    import="java.sql.*,
             java.io.*,
             java.text.*,
             java.util.*,
             xbook.common.*,
             xbook.bookstore.*;"
    改成import="java.sql.*,java.io.*,java.text.*,java.util.*,xbook.common.*, xbook.bookstore.*"试一下;
    再试去掉这句的
      

  14.   

    org.apache.jasper.JasperException: Unable to compile class for JSP..\work\localhost\_\_0002fparton_0002findex_0002ejspindex_jsp_0.java:7: Class or interface declaration expected.
    import java.sql.*;
    ^
    ..\work\localhost\_\_0002fparton_0002findex_0002ejspindex_jsp_0.java:18: Superclass parton.HttpJspBase of class parton._0002fparton_0002findex_0002ejspindex_jsp_0 not found.
    public class _0002fparton_0002findex_0002ejspindex_jsp_0 extends HttpJspBase {
                                                                     ^
    2 errors
    我吧程序改成:
    import="java.sql.*,java.io.*,java.text.*,java.util.*;"
     import="xbook.bookstore.*,xbook.comon.*;"
    他就出现上面的错误!咋办?
     请教两位了!谢谢!
      

  15.   

    另外,我的CLASSPATH是这样的:
    e:\jdk1.3\lib\tools.jar;e:\jdk1.3\lib\dt.jar;e:\jdk1.3\bin ;d:\Tomcat\bin\servlet.jar;d:\Tomcat\webapps\ROOT\parton\WEB-INF\classes;e:\jdk1.3\bin
    有没有什么不妥啊?
      

  16.   

    如果bean是在root\parton\WEB-INF\classes\下
    那么要在server.xml里修改context path,否则系统不认bean的
    要不你先把bean放在root\WEB-INF\classes\下试试。
      

  17.   

    to TNT:
       谢谢你的反复帮助,不知道为什么他连JAVA。SQL。*;这个包都找不到,看来我只有下大力起把所有的东东都放在ROOT下试试看,谢谢你,我再试试!
      

  18.   

    不行,我把所有的东东都放在了ROOT下,可还是说:
    A Servlet Exception Has Occurred
    org.apache.jasper.JasperException: Unable to compile class for JSP..\work\localhost\_\_0002findex_0002ejspindex_jsp_0.java:5: Class or interface declaration expected.
    import java.sql.*;
    ^
    ..\work\localhost\_\_0002findex_0002ejspindex_jsp_0.java:16: Superclass HttpJspBase of class _0002findex_0002ejspindex_jsp_0 not found.
    public class _0002findex_0002ejspindex_jsp_0 extends HttpJspBase {
     ,
    可是我运行其他的*.jsp没问题,我该怎么办?请教了,辛苦两位了!                                                    
      

  19.   

    看看tomcat\work\localhost\_\_0002findex_0002ejspindex_jsp_0.java第5行和16行有什么错
      

  20.   

    呵呵,算了,我另外再开个贴再研究把,
    谢谢TNT和风雨了。非常感谢你们两位!呵呵,再见!请你们到这里来!呵呵。
    http://expert.csdn.net/Expert/topic/1334/1334844.xml?temp=.9591028