如何从jsp与我的网络服务器连接MySQL数据库

时间:2014-07-09 14:19:50

标签: java mysql jsp jdbc

我在本地系统中使用它

Class.forName("com.mysql.jdbc.Driver");

Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/dbname", "userid", "password");

两者都正常运作。但是当我尝试使用此

连接服务器时
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/dbname", "userid", "password");

它不起作用..! 数据库用户名和密码都正确所以如何连接到我的数据库服务器。任何人都可以发布解决方案??

2 个答案:

答案 0 :(得分:0)

看来你上面的例子有点不正确。两者都指向localhost域,但是您的问题可能与您的数据库默认情况下不允许远程连接该特定用户名+ db组合这一事实有关。

mysql> CREATE DATABASE foo;
mysql> GRANT ALL ON foo.* TO bar@'192.168.1.1' IDENTIFIED BY 'PASSWORD';

答案 1 :(得分:0)

我希望我不会误解这个问题,soley引用标题:如何从jsp中连接到mysql。

有不同的选项:让连接处理容器/ app-server或在jsp中动态执行。据我所知,你想从jsp连接,所以尝试这样的事情:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>

<html>
<head>
<title>SELECT Operation</title>
</head>
<body>

<sql:setDataSource var="db" driver="com.mysql.jdbc.Driver"
     url="jdbc:mysql://localhost/foobar"
     user="root"  password="12345"/>

<sql:query dataSource="${db}" var="result">
SELECT * from Employees;
</sql:query>
发生了一些事情:

  • 导入正确的taglibs
  • 将驱动程序置于WEB-INF \ libs
  • 等可访问的位置

您可以稍后使用<c:forEach>

浏览结果