想请问大家,为什么我的这个conn.java在执行javac conn.java时出错,说什么“SQL”不存在什么的。。。。

tonybao 2008-04-18 10:07:03
package ch4;
import java.sql.*;
public class conn {
String dbUrl = "jdbc:mysql://localhost/mis_users";
String dbUser = "root";
String dbPassword = "yurebecca";
Connection connect = null;
ResultSet rs = null;

Public conn() {
try {
Class.forName("org.gjt.mm.mysql.Driver");
}
catch(java.lang.ClassNotFoundException e) {
System.err.println (e.getMessage());
}
}

public ResultSet executeQuery(String sql) {
try {
connect = DriverManger.getConnection(dbUrl,dbUser,dbPassword);
Statement stm = connect.createStatement();
rs = stm.executeQuery(sql);
}
catch(sql.Exception ex) {
System.err.println(ex.getMessage());
}
return rs;
}
}

另外,为什么我在DOS里JAVAC后的出错信息中的中文信息都不能正常显示哈??
...全文
333 56 打赏 收藏 转发到动态 举报
写回复
用AI写文章
56 条回复
切换为时间正序
请发表友善的回复…
发表回复
tonybao 2008-04-25
  • 打赏
  • 举报
回复
谢谢大家,问题已解决! 以后还要你们多帮助哈!!
tonybao 2008-04-25
  • 打赏
  • 举报
回复
[size=18px]本来这个都运行正常了,[/size]

<%@ page contentType = "text/html;charset=gb2312"%>
<%@ page import="java.sql.*" %>
<html>
<body>
<%Class.forName("com.mysql.jdbc.Driver").newInstance();
String url="jdbc:mysql://167.100.32.188:7778/ljmis";
String user="mis";
String password="mis";
Connection conn=DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from mis_users";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){%>
您的第一个字段内容是:<%=rs.getString(1)%>
您的第二个字段内容是:<%=rs.getString(2)%>
<%out.print("数据库操作成功,恭喜您!");%>
<%}%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>

本来这个都运行正常了,可过了二个小时再运行,竟出来了以下的出错信息,说什么'无法连接。。。'

HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: null, message from server: "Host 'dttonybao.ms.starkey.com' is not allowed to connect to this MySQL server"
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:460)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:355)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


root cause

javax.servlet.ServletException: null, message from server: "Host 'dttonybao.ms.starkey.com' is not allowed to connect to this MySQL server"
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:841)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:774)
org.apache.jsp.check_005fidentity_jsp._jspService(check_005fidentity_jsp.java:82)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


root cause

java.sql.SQLException: null, message from server: "Host 'dttonybao.ms.starkey.com' is not allowed to connect to this MySQL server"
com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1018)
com.mysql.jdbc.Connection.createNewIO(Connection.java:2572)
com.mysql.jdbc.Connection.<init>(Connection.java:1485)
com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
java.sql.DriverManager.getConnection(Unknown Source)
java.sql.DriverManager.getConnection(Unknown Source)
org.apache.jsp.check_005fidentity_jsp._jspService(check_005fidentity_jsp.java:51)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


note The full stack trace of the root cause is available in the Apache Tomcat/5.5.25 logs.


--------------------------------------------------------------------------------

Apache Tomcat/5.5.25
dreamhyz 2008-04-23
  • 打赏
  • 举报
回复
[Quote=引用 53 楼 tonybao 的回复:]
谢谢!

conn.class已经放在如下目录了,
C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps
C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\ROOT
C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\ROOT\WEB-INF
C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\ROOT\WEB-INF\classes

...HELP!
[/Quote]

conn.class放在c:\...................\ROOT\WEB-INF\classes\ch4\
非典型射手 2008-04-22
  • 打赏
  • 举报
回复
class文件直接放在了classes目录下了么!?你的java文件不是打包了么,那在classes目录下也应该是打包的。
dreamhyz 2008-04-22
  • 打赏
  • 举报
回复
叫你身边的会的朋友,在你面前教你吧,应该是部署的问题。。。。
程序是没问题的。。。。。。
tonybao 2008-04-22
  • 打赏
  • 举报
回复
谢谢!

conn.class已经放在如下目录了,
C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps
C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\ROOT
C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\ROOT\WEB-INF
C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\ROOT\WEB-INF\classes

...HELP!
tonybao 2008-04-21
  • 打赏
  • 举报
回复
现在的HTML已经成这样的了,我把它放在TOMCAT的root下,但访问如下地址还是和原来一样,没有什么出错信息。大侠,你可不可以把这HTML放在你的tomcat下运行了看看有没有出错的消息? http://localhost:8080/test_conn_mysql_2.html

TEST_CONN_MYSQL_2.HTML

<%@ page contentType='text/html;charset=GB2312" import="java.sql.*" %>
<jsp:useBean id= "connBean" scope="page" class="ch4.conn"/>
<html>
<head>
<title> 使用Bean连接MYSQL数据库 </title>
</head>
<body bgcolor="#FFCCCC">
<div align="center">
<table width="60%" border="1">
<tr>
<td width="50%" bgcolor="#CCCCFF">
<div align="center"> <font color="#FF0033"> <b>ID </b> </font> </div>
</td>

<td width="50%" bgcolor="#CCCCFF">
<div align="center"> <font color="#FF0033"> <b>Name </b> </font> </div>
</td>
</tr>

<%
try{

ResultSet rs = connBean.executeQuery("select * from mis_users");
if(rs==null){
out.println("rs is null...........");
}else{
out.println("rs in not null....");
}

while(rs.next()){
%>
<tr>
<td width="50%">
<div align="center"> <%=rs.getInt(1)%> </div>
</td>

<td width="50%" bgcolor="#CCCCFF">
<div align="center"> <%=rs.getString(2)%> </div>
</td>
</tr>

<%
}

rs.close();

}
catch(Exception e){

}
%>

</table>
</body>
</html>
tonybao 2008-04-21
  • 打赏
  • 举报
回复
是不是还有什么最基本的东西我没设置啊。。。。。 这是我的第一个实例,对我非常重要啊! 高手快出手相救啊!!!
tonybao 2008-04-21
  • 打赏
  • 举报
回复
哥哥救命呀,我还是没任何反映。

<%@ page contentType="text/html;charset=GB2312" import="java.sql.*" %>
<jsp:useBean id= "connBean" scope="page" class="ch4.conn"/>
<html>
<head>
<title> 使用Bean连接MYSQL数据库 </title>
</head>
<body bgcolor="#FFCCCC">
<div align="center">
<table width="60%" border="1">
<tr>
<td width="50%" bgcolor="#CCCCFF">
<div align="center"> <font color="#FF0033"> <b>ID </b> </font> </div>
</td>

<td width="50%" bgcolor="#CCCCFF">
<div align="center"> <font color="#FF0033"> <b>Name </b> </font> </div>
</td>
</tr>

<%
try{

ResultSet rs = connBean.executeQuery("select * from mis_users");
if(rs==null){
out.println("rs is null...........");
}else{
out.println("rs in not null....");
}

while(rs.next()){
%>
<tr>
<td width="50%">
<div align="center"> <%=rs.getInt(1)%> </div>
</td>

<td width="50%" bgcolor="#CCCCFF">
<div align="center"> <%=rs.getString(2)%> </div>
</td>
</tr>

<%
}

rs.close();

}
catch(Exception e){

}
%>

</table>
</body>
</html>

conn.java
package ch4;
import java.sql.*;
public class conn {
String dbUrl = "jdbc:mysql://localhost:7778/ljmis";
String dbUser = "root";
String dbPassword = "yurebecca";
Connection connect = null;
Statement stm=null;//加在这里
ResultSet rs = null;

public conn() {
try {
Class.forName("org.gjt.mm.mysql.Driver");
}
catch(java.lang.ClassNotFoundException e) {
System.err.println (e.getMessage());
}
}

public ResultSet executeQuery(String sql) {
try {
connect = DriverManager.getConnection(dbUrl,dbUser,dbPassword);
stm = connect.createStatement();
rs = stm.executeQuery(sql);
}
catch(Exception ex) {
System.err.println(ex.getMessage());
}

finally{
try{

} catch(Exception e){
}
}
return rs;
}
}

html文件放在tomcat 5.5\webapps\root下;
java文件编译成class文件后放在tomcat 5.5\webapps\root\web-inf\classes下;

mysql里的ljmis库中的mis_users表用sql可以正常查询。

大哥,你可不可以把你的html和class文件发到我的邮箱里啊??!! 谢谢谢谢!!
tonybaogs@yahoo.com.cn

dreamhyz 2008-04-21
  • 打赏
  • 举报
回复
表要忘了给我分啊,用了我老长的时间。。。。。。。。。。。。。。。
dreamhyz 2008-04-21
  • 打赏
  • 举报
回复
是啊,你不能测试吗
tonybao 2008-04-21
  • 打赏
  • 举报
回复
老大,也就是说你已经成功了?

我正在我的笔记本上搭建环境了.....
dreamhyz 2008-04-21
  • 打赏
  • 举报
回复
<%@ page contentType='text/html;charset=GB2312" import="java.sql.*" %>


<%@ page contentType="text/html;charset=GB2312" import="java.sql.*" %>

不要错了,红色的。。
dreamhyz 2008-04-21
  • 打赏
  • 举报
回复
也就是把这些都去掉。。。
rs.close();
stm.close();
connect.close();
dreamhyz 2008-04-21
  • 打赏
  • 举报
回复
package ch4;
import java.sql.*;
public class conn {
String dbUrl = "jdbc:mysql://localhost:7778/ljmis";
String dbUser = "root";
String dbPassword = "yurebecca";
Connection connect = null;
Statement stm=null;//加在这里
ResultSet rs = null;

public conn() {
try {
Class.forName("org.gjt.mm.mysql.Driver");
}
catch(java.lang.ClassNotFoundException e) {
System.err.println (e.getMessage());
}
}

public ResultSet executeQuery(String sql) {
try {
connect = DriverManager.getConnection(dbUrl,dbUser,dbPassword);
stm = connect.createStatement();
rs = stm.executeQuery(sql);
}
catch(Exception ex) {
System.err.println(ex.getMessage());
}

finally{
try{

} catch(Exception e){
}
}
return rs;
}
}

用这个,就行了。。。
tonybao 2008-04-21
  • 打赏
  • 举报
回复
谢谢谢谢!!!!!!
matchlist 2008-04-21
  • 打赏
  • 举报
回复
mysql的jar包导入了嘛?你这是什么驱动,mysql的驱动不是这个,自己上网查下驱动的名字吧
dreamhyz 2008-04-21
  • 打赏
  • 举报
回复
我自己试下。。。
dreamhyz 2008-04-21
  • 打赏
  • 举报
回复
还没解决。。。。
tonybao 2008-04-21
  • 打赏
  • 举报
回复
[Quote=引用 34 楼 burningice44 的回复:]
import java.sql.*;
public class conn {
String dbUrl = "jdbc:mysql://localhost/mis_users";
String dbUser = "root";
String dbPassword = "yurebecca";
Connection connect = null;
ResultSet rs = null;

public conn() {
try {
Class.forName("org.gjt.mm.mysql.Driver");
}
catch(ja…
[/Quote]

burningice,你贴的这个和我原来的一样吧,是什么意思呢,谢谢赐教!!
加载更多回复(36)

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧