jsp连接 mysql 的问题

love89 2004-10-07 02:34:55
<%@ page contentType="text/html;charset=GBK" %>
<%@ page language="java" import="java.sql.*"%>
<%
Connection conn = null;
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
conn = java.sql.DriverManager.getConnection("jdbc:mysql://localhost/test","roo
t","");
if(conn==null){
System.out.println("get Conn Error");
}
Statement stmt=conn.createStatement();
ResultSet RS_result=null;
%>
<html>
<head>
<title>测试</title></head>
<body>
<%
RS_result=stmt.executeQuery("select * from user");
String Name;
while(RS_result.next())
{
Name=RS_result.getString("name");
%>
<%=Name%>
<%
}
RS_result.close();
stmt.close();
conn.close();
%>
</body>
</html>


我用以上代码连接mysql ,老是出错。

错误信息如下:
javax.servlet.ServletException: org.gjt.mm.mysql.Driver
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
org.apache.jsp.sql1_jsp._jspService(sql1_jsp.java:89)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
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)

请问是不是少了对mysql 的数据连接驱动呀,
那驱动程序又在那里下载安装呀。
...全文
222 点赞 收藏 20
写回复
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
dragon45 2004-10-09
为什么我的抛出异常
java.sql.SQLException: Communication link failure: Bad handshake
回复
love89 2004-10-09
谁有调用javabean的方法呀。
回复
tutor666 2004-10-09
用数据库连接池吧,不用自己写性能还好。
回复
drugon 2004-10-09
conn = java.sql.DriverManager.getConnection("jdbc:mysql://localhost/test","roo
t",""); 你错在url上面,一般的数据库连接的url还要加上端口的,正确的是
conn = java.sql.DriverManager.getConnection("jdbc:mysql://localhost:3306/test","roo
t","");
回复
wenming168 2004-10-08
驱动找不到,请放到lib下
回复
love89 2004-10-08
jsp 调用呢?
回复
lvyuanfang 2004-10-08
DBManager dm=new DBManager();
Connection con=dm.getCon();
ResultSet rs=dm.executeQuery("select * from test");
if(dm.executeUpdate("update test set id=9")==true){
System.out.println("insert successful!!");
};
回复
love89 2004-10-08
调用呢?
回复
EdifierX 2004-10-08
接分。
回复
lvyuanfang 2004-10-08
package sip;

import java.sql.*;

public class DBManager {
private String user = "test";
private String password = "test";
private String host="192.168.0.192";
private String database="test";
/*
private String url="jdbc:mysql://"+host+"/"+"useUnicode=true&characterEncoding=GB2312";
*/
private String url ="jdbc:mysql://192.168.0.192/test?useUnicode=true&characterEncoding=GB2312";
private Connection con = null;

Statement stmt;

public DBManager() {
// url="jdbc:mysql://"+host+"/"+database+"?useUnicode=true&characterEncoding=GB2312";
try {
Class.forName("org.gjt.mm.mysql.Driver");
}
catch (ClassNotFoundException e) {
System.err.println("class not found:" + e.getMessage());
}

try {
con = DriverManager.getConnection(url, user, password);
stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
}
catch (SQLException a) {
System.err.println("sql exception:" + a.getMessage());
}
}

public Connection getCon() {
return con;
}

public ResultSet executeQuery(String sql) {
ResultSet rs = null;
try {
rs = stmt.executeQuery(sql);
}
catch (SQLException e) {
e.printStackTrace();
}
return rs;
}

public boolean executeUpdate(String sql) {
boolean v = false;
try {
v = stmt.executeUpdate(sql) > 0 ? true : false;
}
catch (SQLException e) {
e.printStackTrace();
}
finally {
return v;
}
}
public void close(){
con.close();
}
}
回复
love89 2004-10-08
有没有关于 jsp+mysql+javabean 的连接代码实例呀
回复
loveyf 2004-10-08
与Mysql数据库连接:

1、安装mysql数据库,设置数据库的用户名为root,密码为空;
2、将mysql-connector-java-3.0.8-stable.zip压缩包解压,然后将里面的文件 mysql-connector-java-3.0.8-stable-bin.jar拷贝到以下目录下:拷贝到你安装的j2sdk1.4.1_01\jre\lib\ext下,然后在Classpath中增加此路径,例如你的j2sdk安装在D盘,则加入:d:\j2sdk1.4.1_01\jre\lib\ext;(在服务器情况下,把该驱动放到$TOMCAT_HOME/common/lib/下,并把该目录放到classpath中);
3、找一个mysql数据库的前端控制软件,例如:mysql_man、MySQL Studio V5.0等;
4、用这个软件添加两个用户:
是你没有创建MYSQL的用户,
创建一个用户如:UserName:admin
Pass:password
FromHost:%
还需要创建一个可以访问本地数据库的相同用户:
UserName:admin
Pass:password
FromHost:localhost
例如用MySQL Studio V5.0 ,安装进入后点击Connections,输入相关信息,测试通过后点击Save。进入后点击工具栏上的Manage Users添加相关的两个用户,并赋两者所有权限。
5、然后就可以用新建的用户连接数据库!

6、也可更改root的密码!更改(密码不再为空)以后在控制软件上以root用户将连接不上数据库,可以新建的用户连接!

7、用DriverManager登记mm.mysql
mm.mysql的class名为org.gjt.mm.mysql.Driver,登记时必须写成
Class.forName("org.gjt.mm.mysql.Driver").newInstance();

8、jdbc url参数说明
url格式:jdbc:mysql://[hostname][:port]/dbname[?param1=value1][¶m2=value2]...
参数名 取值 缺省
user 数据库用户名 无
password 数据库用户口令 无
autoReconnect 当数据库连接丢失时是否自动连接,取值true/false false
maxReconnects 如果autoReconnect为true,此参数为重试次数,缺省为3次 3
initialTimeout 如果autoReconnect为true,此参数为重新连接前等待的秒数 2
maxRows 设置查询时返回的行数,0表示全部 0
useUnicode 是否使用unicode输出,true/false false
characterEncoding 如果useUnicode,该参数制定encoding类型,建议使用8859_1 无

9、提示
同时使用useUnicode,characterEncoding,能解决数据库输出时的中文问题
如:jdbc:mysql://localhost/test?user=root&useUnicode=true;characterEncoding=8859_1



10、把sql语句、文件和数据导入mysql数据库中的某个数据库的语法是:
1、打开DOS命令行;
2、进入mysql\bin目录;
3、输入:mysql -u mysql -p test<ntsky.sql
-u后面的mysql是数据库的用户名,test是mysql中的相关数据库,ntsky.sql是数据库文件。回车后回提示你输入密码,把对应的密码输入即可
回复
陈小弟110 2004-10-08
把驱动的jar文件放在classpath就可以了
回复
jackcf 2004-10-08
缺少驱动,调用和普通的调用一样的
回复
love89 2004-10-08
怎样在jsp里调用呀
回复
scottwhb 2004-10-08
调用java bean
<jsp:useBean id="Name" class="com.testbean" scope="application">
回复
lvyuanfang 2004-10-08
就是我写的代码,绝对能用的,你再试依次,驱动放在你的web应用的web-inf目录下的lib目录下,如果没有lib的华,新建一个
回复
netrope 2004-10-08
给你一段我的连接MySQL的JavaBean代码吧。

package Conn;

import java.sql.*;

public class mySqlConn
{
ResultSet rs=null;

String DBDriver = "org.gjt.mm.mysql.Driver";
//MySQL的路径,根据需要,自己改动!
String dburl="jdbc:mysql://localhost:3306/data?user=root&password=&useUnicode=true&characterEncoding=gb2312";
String strConn=null;

public mySqlConn()
{
try{
Class.forName(DBDriver);
}
catch(java.lang.ClassNotFoundException e)
{System.out.println("提示信息:"+e.getMessage());}
}

public ResultSet exeQue(Connection connObj,String sql)
{
rs=null;
try{
//sql=new String(sql.getBytes("GBK"),"ISO8859_1");
Statement stmt=connObj.createStatement();
rs=stmt.executeQuery(sql);
//connObj.close();
//stmt.close();
}
catch(SQLException ex)
{System.out.println("提示信息:"+ex.getMessage());}
return rs;
}

public Connection newConn()
{
Connection connObj=null;
try{
strConn =dburl;
connObj=DriverManager.getConnection(strConn);
}
catch(SQLException e)
{System.out.println("提示信息:"+e.getMessage());}
return connObj;
}

public void setDburl(String s)
{
dburl=s;
}
}
回复
11111 2004-10-07
驱动不对,或者没包含路径,给分吧,老大!
回复
love89 2004-10-07
这个问题我已解决了,谁随便回答一下,我好结帐给分。或者贴一些javabaean的代码,我马上给20分,谢谢!
回复
发动态
发帖子
Web 开发
创建于2007-09-28

7.9w+

社区成员

Java Web 开发
申请成为版主
社区公告
暂无公告