我想建立一个新的数据库,所以运行了下面这段程序时:
<body> <font size=2>
<%
Connection conn=null;
Statement stmt=null;
PreparedStatement st=null;
String sql=null;
int ret;
try{
Class.forName("com.mysql.jdbc.Driver");
String strCon="jdbc:mysql://localhost:3306/";
conn= DriverManager.getConnection(strCon,"root","root" );
stmt=conn.createStatement();
sql="create database Jsp";
ret=stmt.executeUpdate(sql);
sql="create table customers("+
" Id int(6) unsigned NOT NULL auto_increment,"+
" Name varchar(20) default NULL,"+
" addTime timestamp NULL default NULL,"+
" Tel varchar(15) default NULL,"+
" Email varchar(20) default NULL,"+
" PRIMARY KEY (Id)"+
")";
ret=stmt.executeUpdate(sql);
}
catch(ClassNotFoundException e){
e.printStackTrace();
out.println("<h1>无法找到数据库驱动</h1>");
} out.println("<h1>新建数据库成功</h1>");
DatabaseMetaData meta=conn.getMetaData();
out.println("<br>");
out.println("连接字:"+meta.getURL());
out.println("<br>");
out.println("数据库产品"+meta.getDatabaseProductName());
out.println("<br>");
out.println("数据库版本"+meta.getDatabaseProductVersion());
out.println("<br>");
out.println("驱动程序"+meta.getDriverName());
out.println("<br>");
out.println("驱动程序版本"+meta.getDriverVersion());
stmt.close();
conn.close();
%>
</font>
</body>
结果出现下面的异常:
java.sql.SQLException: No database selected
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1056)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2938)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1601)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1710)
at com.mysql.jdbc.Connection.execSQL(Connection.java:2436)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1402)
at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:977)
at org.apache.jsp.aaa_jsp._jspService(aaa_jsp.java:101)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:619)
请高手指点一下,这是什么原因?
<body> <font size=2>
<%
Connection conn=null;
Statement stmt=null;
PreparedStatement st=null;
String sql=null;
int ret;
try{
Class.forName("com.mysql.jdbc.Driver");
String strCon="jdbc:mysql://localhost:3306/";
conn= DriverManager.getConnection(strCon,"root","root" );
stmt=conn.createStatement();
sql="create database Jsp";
ret=stmt.executeUpdate(sql);
sql="create table customers("+
" Id int(6) unsigned NOT NULL auto_increment,"+
" Name varchar(20) default NULL,"+
" addTime timestamp NULL default NULL,"+
" Tel varchar(15) default NULL,"+
" Email varchar(20) default NULL,"+
" PRIMARY KEY (Id)"+
")";
ret=stmt.executeUpdate(sql);
}
catch(ClassNotFoundException e){
e.printStackTrace();
out.println("<h1>无法找到数据库驱动</h1>");
} out.println("<h1>新建数据库成功</h1>");
DatabaseMetaData meta=conn.getMetaData();
out.println("<br>");
out.println("连接字:"+meta.getURL());
out.println("<br>");
out.println("数据库产品"+meta.getDatabaseProductName());
out.println("<br>");
out.println("数据库版本"+meta.getDatabaseProductVersion());
out.println("<br>");
out.println("驱动程序"+meta.getDriverName());
out.println("<br>");
out.println("驱动程序版本"+meta.getDriverVersion());
stmt.close();
conn.close();
%>
</font>
</body>
结果出现下面的异常:
java.sql.SQLException: No database selected
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1056)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2938)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1601)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1710)
at com.mysql.jdbc.Connection.execSQL(Connection.java:2436)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1402)
at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:977)
at org.apache.jsp.aaa_jsp._jspService(aaa_jsp.java:101)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:619)
请高手指点一下,这是什么原因?
楼主【guochaoguo】截止到2008-07-16 12:44:10的历史汇总数据(不包括此帖):
发帖的总数量:0 发帖的总分数:0 每贴平均分数:0
回帖的总数量:1 得分贴总数量:0 回帖的得分率:0%
结贴的总数量:0 结贴的总分数:0
无满意结贴数:0 无满意结贴分:0
未结的帖子数:0 未结的总分数:0
结贴的百分比:---------------------结分的百分比:---------------------
无满意结贴率:---------------------无满意结分率:---------------------
如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
3306/后面加上数据库的名字
3306/后面加上数据库的名字
没有选择数据库
--------------------------------------------------------------------------------type 异 常 报 告信 息 描 述 服务器遇到内部错误,无法满足这个访问请求异 常 org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:512)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:395)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
起 因 java.lang.NullPointerException
org.apache.jsp.aaa_jsp._jspService(aaa_jsp.java:109)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
注 意 完整的起因在Apache Tomcat/5.5.20里。不知道是不是配置问题
--------------------------------------------------------------------------------
用tomcat的话去tomcat安装路径\work\Catalina\localhost\你的工程\aaa_jsp.java:109去看下
aaa_jsp.java:109这里报了空指针哈,查下看代码怎么写的就知道了