【发布时间】:2016-12-22 08:18:51
【问题描述】:
我试图从数据库中检索数据。我使用 jdbc 连接到数据库。我有一个文本字段和一个提交按钮。当我在文本字段中键入文本并单击提交时,它显示一个空白页面,并且控制台中没有错误。 我没有从数据库中获取数据。我的数据库名称是新的,表名称是列表。有什么解决办法吗?
<!DOCTYPE html>
<html>
<head>
<title>D3</title>
<script>
function getData() {
{
xmlHttp = GetXmlHttpObject();
var id = document.getElementById("input").value;
var url = "main.jsp";
url = url + "?input=" + id;
xmlHttp.onreadystatechange = stateChanged;
xmlHttp.open("GET", url, true);
}
xmlHttp.send(null);
function stateChanged() {
if (xmlHttp.readyState === 4 ||
xmlHttp.readyState === "complete") {
var showdata = xmlHttp.responseText;
document.getElementById("input").value
= showdata;
}
}
}
</script>
</head>
<body>
<div id="type">
<form>
<table>
<tr>
<td>
<input type="text" name="input">
</td>
</tr>
<tr>
<td>
<input type="submit"
name="submit" onclick="getdata();" </td>
</tr>
</table>
</form>
</div>
</body>
</html>
下面是main.jsp文件,用于根据输入表单从数据库中获取数据
main.jsp
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.*"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.beans.Statement"%>
<%
String ch = request.getParameter("type").toString();
System.out.println(ch);
String data ="";
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection
("jdbc:mysql://localhost:3306/new","root","admin321");
PreparedStatement st=con.prepareStatement
("select * from list where input in name=?");
ResultSet rs=st.executeQuery();
while(rs.next())
{
data = rs.getString("name") + ": " +
rs.getString("child name");
}
out.println(data);
System.out.println(data);
}
catch(Exception e) {
System.out.println(e);
}
%>
更新脚本:
function getData(){
{
xmlHttp=GetXmlHttpObject();
var id=document.getElementById("input").value;
var url="main.jsp";
// java.net.URLEncoder.encode(url, "UTF-8");
// url=URLEncoder.encode(url,"UTF-8");
url=url+"?input="+id;
xmlHttp.onreadystatechange=stateChanged ;
xmlHttp.open("GET",url,true);
}
xmlHttp.send(null);
function stateChanged(){
if(xmlHttp.readyState===4 || xmlHttp.readyState==="complete"){
var showdata = xmlHttp.responseText;
document.getElementById("input").value=showdata;
}
}
return false;
}
【问题讨论】: