type Exception reportmessagedescription The server encountered an internal error () that prevented it from fulfilling this request.exceptionorg.apache.jasper.JasperException: /110/test.jsp(3,0) The value for the useBean class attribute Border.dbconn is invalid.
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:150)
org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1227)
org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1116)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2213)
org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2219)
org.apache.jasper.compiler.Node$Root.accept(Node.java:456)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
org.apache.jasper.compiler.Generator.generate(Generator.java:3272)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:244)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:470)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.
Apache Tomcat/5.0.28

解决方案 »

  1.   

    如果你的bean没有默认的构造函数就会出这个错误。
      

  2.   

    conn=dbconn.getConn();
    应该是这里引用dbconn出的错误,顺便问一下
    <jsp:useBean id="Border" scope="page" class="Border.dbconn"  />
    这里为什么不用conn=Border.getConn();来实现??另外是否Border.dbconn路径正确
      

  3.   

    <jsp:useBean id="Border" scope="page" class="Border.dbconn"  />
    上面设置的ID是多少,下面的就用什么名..
    conn=dbconn.getConn();
    rs=dbconn.executeSQL("select * from book");
      

  4.   

    <jsp:useBean id="Border" scope="page" class="Border.dbconn"  />
    <%
    ResultSet rs =null;
    Connection conn=null;
    conn=dbconn.getConn();
    rs=dbconn.executeSQL("select * from book");把dbconn 改成 Border
      

  5.   

    <jsp:useBean id="Border" scope="page" class="Border.dbconn"  />
    .....
    conn=dbconn.getConn();是这句错了,id="Border"应该是conn=Border.getConn();才对!同时,提醒楼主抽时间注意一下编程的代码规范,这样对你有好处!!!!!!!!!!!
      

  6.   

    个人认为,不要把sql直接写在jsp页面中
      

  7.   

    ==============================================================
    dbconn.java
    ===============================
    package Border;
    import java.sql.*;public class dbconn{   private Connection conn=null;
      private ResultSet rs=null;
      private String server="127.0.0.1";
      private String port="3306";
      private String db="publish";
      private String user="root";
      private String pass="sjjifk";
      private String drivername="org.git.mm.mysql.Drivrt";
      private String URL="jdbc:mysql://"+server+":"+port+"/"+db+"?useUnicode=true&characterEncoding=GBK&user="+user+"&password="+pass;
      
    //Attention:构造函数改成这样
         public dbconn(){
     try {
         Class.forName(drivername).newInstance();
         conn=DriverManager.getConnection(URL);
         }
       catch(Exception e){
       e.printStackTrace();
       }
       }
       public ResultSet executeSQL(String str){
       try{
         Statement stmt=conn.createStatement();
         rs= stmt.executeQuery(str);
         }
         catch(Exception e){
         e.printStackTrace();
         }
         return rs;
         }
    public void InsSQL(String str){
       try{
         Statement stmt=conn.createStatement();
         rs= stmt.updateQuery(str);
         }
         catch(Exception e){
         e.printStackTrace();
         }
            }
         
         }
    ============================================================
    test.jsp
    ============================================================<%@ page contentType="text/html;charset=GBK" import="java.sql.*"%><jsp:useBean id="newBorder" scope="page" class="Border.dbconn"/>
    <%
    ResultSet rs =null;
    rs=newBorder.executeSQL("select * from book");
    %>
    ……
    ======================================
    updata.jsp
    ======================================
    <%@ page contetType="text/html"; charset="GBK" import="java.sql.*"%>
    <% request.setCharacterEncoding("GBK");%><jsp:useBean id="newBorder" scope="page" class="Border.dbconn"/>
    <%
     //Connection conn=null;
     //conn=Border.getConn();
     
     String tit=rsquest.getParameter("Title");
     String prc=request.getparameter("Price");
     
     //Statement stm=conn.createStatement();
     newBorder.InsSQL("INSET INTO book(title,price) values ("+tit+","+prc+")");
     %>
     
    <jsp:forward page="text.jsp"/>
    Good Luck
      

  8.   

    ps:你的bean里还没有释放连接
    public ResultSet executeSQL(String str){
       try{
         Statement stmt=conn.createStatement();
         rs= stmt.executeQuery(str);
         }
         catch(Exception e){
         e.printStackTrace();
         }
       finally
        {
        if(conn!=null)conn.close(); //Attention:This is very important.   }
         return rs;
         }
      

  9.   

    type Exception reportmessagedescription The server encountered an internal error () that prevented it from fulfilling this request.exceptionorg.apache.jasper.JasperException: /110/test.jsp(3,0) The value for the useBean class attribute Border.dbconn is invalid.
    org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39)
    org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409)
    org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:150)
    org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1227)
    org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1116)
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
    org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2213)
    org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2219)
    org.apache.jasper.compiler.Node$Root.accept(Node.java:456)
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
    org.apache.jasper.compiler.Generator.generate(Generator.java:3272)
    org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:244)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:470)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.改了还是出这样的错,mysql server 以经运行起来了