html访问本地数据库
时间: 2023-08-02 19:12:39 浏览: 84
HTML5本地存储和本地数据库实例详解
HTML本身是一种标记语言,不能直接访问本地数据库。但是,可以使用JavaScript作为客户端脚本语言,通过Ajax技术向服务器发送请求,然后服务器再操作数据库返回数据给客户端。具体步骤如下:
1. 在HTML页面中引入jQuery和自己编写的JavaScript文件。
```html
<!DOCTYPE html>
<html>
<head>
<title>访问本地数据库</title>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
<script src="js/myscript.js"></script>
</head>
<body>
<div id="result"></div>
<button id="btn">查询数据</button>
</body>
</html>
```
2. 编写JavaScript代码,使用Ajax向服务器发送请求,并将服务器返回的数据显示在页面上。
```javascript
$(document).ready(function(){
$("#btn").click(function(){
$.ajax({
type: "POST",
url: "http://localhost:8080/getData",
dataType: "json",
success: function(data){
var result = "";
for (var i = 0; i < data.length; i++) {
result += "<p>" + data[i].name + ":" + data[i].age + "</p>";
}
$("#result").html(result);
},
error: function(jqXHR){
alert("发生错误:" + jqXHR.status);
}
});
});
});
```
3. 在服务器端编写代码,接收客户端发送的请求,操作数据库并返回数据。
```java
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson.JSON;
public class GetDataServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("application/json;charset=UTF-8");
PrintWriter out = response.getWriter();
List<Person> list = new ArrayList<Person>();
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from person");
while (rs.next()) {
Person p = new Person();
p.setName(rs.getString("name"));
p.setAge(rs.getInt("age"));
list.add(p);
}
rs.close();
stmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
String json = JSON.toJSONString(list);
out.print(json);
out.flush();
out.close();
}
}
class Person {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
```
在这个例子中,服务器端使用Java编写,使用了MySQL数据库,客户端使用了jQuery和JavaScript。可以根据实际需求选择不同的技术栈和数据库。
阅读全文