首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

用JDBC访问数据库的有关问题

2012-05-21 
用JDBC访问数据库的问题我想在打印出数据库web中的所有内容,代码如下(已添加jdbc驱动包)一个与数据库连接

用JDBC访问数据库的问题
我想在打印出数据库web中的所有内容,代码如下(已添加jdbc驱动包)

  一个与数据库连接的javabean DBcon.java 
 

Java code
  package mypack;import java.sql.Connection;import java.sql.DriverManager;public class DBcon {        public Connection conn=null;        public Connection  getConnection()    {                String Driver="com.mysql.jdbc.Driver";        String Url="jdbc:mysql://localhost:3306/test";        //System.out.println("建立连接");                try{            Class.forName(Driver);        /* 加载驱动 */                                          /* 连接数据库*/            conn=DriverManager.getConnection( Url,"root","1234");            //System.out.println("success");                    }catch(Exception e)        {            System.out.println("runtime");            //throw new RuntimeException(e);            e.printStackTrace();        }        return conn;    }        public static void main(String args[])    {        DBcon con=new DBcon();                con.getConnection();    }}  

一个用户属性的Javabean People.java
Java code
package mypack;public class People {    String name;    String hometown;            //户籍    String local;               //高校所在地    String university;         //就读高校    String highschool;          //曾读高中    String major;              //专业    String grade;             //年纪            public void setName(String name)    {        this.name=name;    }    public String getName()    {        return name;    }        public void setHometown(String hometown)    {        this.hometown=hometown;    }    public String getHometown()    {        return hometown;    }        public void setLocal(String local)    {        this.local=local;    }    public String getLocal()    {        return local;    }        public void setUniversity(String university)    {        this.university=university;    }    public String getUniversity()    {        return university;    }        public void setHighschool(String highschool)    {        this.highschool=highschool;    }    public String getHighschool()    {        return highschool;    }        public void setMajor(String major)    {        this.major=major;    }    public String getMajor()    {        return major;    }        public void setGrade(String grade)    {        this.grade=grade;    }    public String getGrade()    {        return grade;    }}


一个访问数据库得到所有数据的javabean Getall.java
Java code
package mypack;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;public class Getall {        People[] sb;    int num;    public Getall()    {         num=0;         sb= new People[100];    }    public void  loop()       {         DBcon db=new DBcon();         Connection conn=db.getConnection();         PreparedStatement pstmt;         String sql="select * from web ";         ResultSet rs;                  try{             pstmt=conn.prepareStatement(sql);             rs=pstmt.executeQuery();                          while(rs.next()){                                  sb[num].setName(rs.getString("name"));                 sb[num].setHometown(rs.getString("hometown"));                 sb[num].setLocal(rs.getString("local"));                 sb[num].setUniversity(rs.getString("university"));                 sb[num].setHighschool(rs.getString("highschool"));                 sb[num].setMajor(rs.getString("major"));                 sb[num].setGrade(rs.getString("grade"));                 System.out.println("name:"+sb[num].getName());                 num++;             }                      }catch(Exception e){             e.printStackTrace();         }    }    } 



最后一个简单的jsp页面 index.jsp
Java code
<%@ page language="java" contentType="text/html; charset=GBK"%><%@ page import="mypack.Getall" %><%@ page import="mypack.DBcon" %><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><title>Hello</title></head><body><%     Getall pp=new Getall();     pp.loop();%>Hello!</body></html>

但部署好后(确认部署没有问题),tomcat报错
2012-5-18 18:16:29 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet [jsp] in context with path [/test] threw exception [Unable to compile class for JSP: 

An error occurred at line: 15 in the generated java file
Only a type can be imported. mypack.DBcon resolves to a package

Stacktrace:] with root cause
org.apache.jasper.JasperException: Unable to compile class for JSP: 

An error occurred at line: 15 in the generated java file
Only a type can be imported. mypack.DBcon resolves to a package

Stacktrace:
at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:102)
at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:331)
at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:469)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:378)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

哪位牛人帮忙看一下哪里出了问题,不胜感激!

[解决办法]
代码应该没问题,你的Tomcat安装路径是不是有空格?
[解决办法]
<%@ page import="mypack.Getall" %>
<%@ page import="mypack.DBcon" %>
应该是导入没有成功,页面要加相对路径
------解决方案--------------------


An error occurred at line: 15 in the generated java file
Only a type can be imported. mypack.DBcon resolves to a package

[解决办法]
An error occurred at line: 15 in the generated java file
Only a type can be imported. mypack.DBcon resolves to a package
从代码来看,你那个类有没有单独运行过。有没有什么问题。会不会是包的问题。可能是你有些包没引入

热点排行