繁体   English   中英

如何通过jsp将MySQL数据库连接到我的Web服务器

[英]How To connect the MySQL Database from jsp with my webserver

我在本地系统中使用它

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");

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

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

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

我希望我不要误解这个问题,所以请参考标题:如何从jsp中连接到mysql。

有不同的选择:让连接处理容器/应用服务器或在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>

发生了一些事情:

  • 导入正确的标签库
  • 将驱动程序放在WEB-INF \\ libs之类的可到达位置

您可以稍后使用<c:forEach>浏览结果

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM