html从数据库中读取数据

答案:3  信息版本:手机版

解决时间 2018-12-16 09:23

已解决

2018-12-15 11:13

html从数据库中读取数据

最佳答案

2018-12-15 12:08

html只能通过ajax接口跟后台数据库接口通信,然后取出来的数据在页面上显示。

以下是一个例子:

html文件suggest.html:

实现搜索提示

ajax_search.js:

var searchReq = createAjaxObj();

function createAjaxObj()

{

var httprequest=false;

if (window.XMLHttpRequest) //为非IE浏览器生成XmlHttpRequest对象

{

httprequest=new XMLHttpRequest()

if (httprequest.overrideMimeType) httprequest.overrideMimeType('text/xml')

}

else if (window.ActiveXObject) //为IE浏览器生成XmlHttpRequest对象

{

try

{

httprequest=new ActiveXObject("Msxml2.XMLHTTP");

}

catch (e)

{

try

{

httprequest=new ActiveXObject("Microsoft.XMLHTTP");

}

catch (e){}

}

}

return httprequest

}

function searchSuggest()

{

if (searchReq.readyState == 4 || searchReq.readyState == 0)

{

var str = escape(document.getElementById('txtSearch').value);

searchReq.open("GET", 'search?search=' + str, true);//向服务器端发送请求

searchReq.onreadystatechange = handleSearchSuggest; //设置回调函数

searchReq.send(null);

}

}

function handleSearchSuggest()

{ //这是回调函数,处理从服务器端返回的信息

if (searchReq.readyState == 4)

{

var ss = document.getElementById('search_suggest')

ss.innerHTML = '';

var str = searchReq.responseText.split("\n");

for(i=0; i < str.length - 1; i++)

{

var suggest = 'suggest += 'onmouseout="javascript:suggestOut(this);" ';

suggest += 'onclick="javascript:setSearch(this.innerHTML);" ';

suggest += 'class="suggest_link">' + str[i] + '';

ss.innerHTML += suggest;

ss.style.display="block";

}

}

}

function suggestOver(div_value)

{

div_value.className = 'suggest_link_over';

}

function suggestOut(div_value)

{

div_value.className = 'suggest_link';

}

function setSearch(value)

{

document.getElementById('txtSearch').value = value;

document.getElementById('search_suggest').innerHTML = '';

document.getElementById('search_suggest').style.display="none";

}

servlet文件SearchSuggest.java:

package com;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.ArrayList;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class SearchSuggest extends HttpServlet

{

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException

{

response.setCharacterEncoding("UTF-8");

String search = request.getParameter("search"); //接受参数值

String sql = "select GoodsName from Goods where GoodsName like '"+search+"%' order by GoodsName";//设置查询语句

Connection conn = null;

Statement stmt = null;

ResultSet rs = null;

ArrayList vData = new ArrayList();

java.io.PrintWriter out = response.getWriter();

try {

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //注册数据库连接驱动

String MdbPath = "F:/sneaker/Tomcat/webapps/search/database/#costume.mdb";

String url= "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=" + MdbPath ;

conn = DriverManager.getConnection(url);

stmt = conn.createStatement();

rs = stmt.executeQuery(sql); //执行查询

while (rs.next())

{

vData.add(rs.getString("GoodsName"));

}

StringBuilder buf = new StringBuilder();

for (int i=0;i{

String keyword = (String)vData.get(i);

buf.append(keyword+"\n");

}

out.print(buf.toString());//向客户端输出信息

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

if (stmt != null)

stmt.close();

if (conn != null)

conn.close();

} catch (SQLException sqle) {

}

}

}

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, java.io.IOException

{

doPost(request, response);

}

}

全部回答

1楼

2018-12-15 15:06

HTML是无法读取数据库的,HTML是页面前端脚本语言,要想从HTML网页中获取SQL数据库里的数据,需要借助JSP或ASP或PHP或RUBY等语言来实现。

简单的关系可以这样理解:

数据库JSP或ASP或PHP或RUBY等语言HTML

如:在JSP页面中显示完整代码如下:

language="java"

contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"

%>

管理中心

ID

书名

作者

价格

删除

// 数据库的名字

String dbName = "zap";

// 登录数据库的用户名

String username = "sa";

// 登录数据库的密码

String password = "123";

// 数据库的IP地址,本机可以用 localhost 或者 127.0.0.1

String host = "127.0.0.1";

// 数据库的端口,一般不会修改,默认为1433

int port = 1433;

String connectionUrl = "jdbc:sqlserver://" + host + ":" + port + ";databaseName=" + dbName + ";user=" + username

+ ";password=" + password;

//

//声明需要使用的资源

// 数据库连接,记得用完了一定要关闭

Connection con = null;

// Statement 记得用完了一定要关闭

Statement stmt = null;

// 结果集,记得用完了一定要关闭

ResultSet rs = null;

try {

// 注册驱动

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

// 获得一个数据库连接

con = DriverManager.getConnection(connectionUrl);

String SQL = "SELECt * from note";

// 创建查询

stmt = con.createStatement();

// 执行查询,拿到结果集

rs = stmt.executeQuery(SQL);

while (rs.next()) {

%>

" target="_blank">

" target="_blank">删除

}

} catch (Exception e) {

// 捕获并显示异常

e.printStackTrace();

} finally {

// 关闭我们使用过的资源

if (rs != null)

try {

rs.close();

} catch (Exception e) {}

if (stmt != null)

try {

stmt.close();

} catch (Exception e) {}

if (con != null)

try {

con.close();

} catch (Exception e) {}

}

%>

添加新纪录

2楼

2018-12-15 13:39

html是一种静态语言。不能直接读取数据库里的内容。。。

如果要读数据库。你必须会一些简单的php asp之类。。。这些是服务器端的程序语言,可以操作数据库的是这个。。。而html是客户端的。肯定不能操作数据库。。。

我要举报

如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!

大家都在看

推荐资讯

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐