本文实例讲述了JS请求servlet的方法。分享给大家供大家参考,具体如下:
前端js代码:
rush:js;">
//创建ajax请求对象
var xmlHttp;
function createXMLHttpRequest(){
if(window.ActiveXObject){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}
}
/**
* 表单提交
*/
function submit(){
//发送请求
var searchContent = $id("search_input").value;//查找内容
createXMLHttpRequest();
try{
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.open("GET","/MyMap/QueryMapServlet?searchName="+searchContent,true);
xmlHttp.send(null);
}catch(exception){
alert("您要访问的资源不存在!");
}
$("sidetoggleRight").attr("checked","checked");//无作用
}
//处理结果
function handleStateChange(){
if(xmlHttp.readyState == 4){
if (xmlHttp.status == 200 || xmlHttp.status == 0){
var t = xmlHttp.responseText;
jsonobj = eval('('+t+')');
}
}
}
servlet端:
rush:java;">
//oracle数据库查询的结果:
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection(url,"dio","123");
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs = stmt.executeQuery("SELECT * FROM GEO where ST like '%"+searchName+"%'");
ResultSetMetaData MetaData = rs.getMetaData();
rs.beforeFirst();//将指针移到最开始的位置
int columnCount = MetaData.getColumnCount(); //列数
JSONArray array = new JSONArray();
while (rs.next()) {
JSONObject jsonObj = new JSONObject();
//输出数据
for (int i = 1; i <= columnCount; i++) {
String columnName = MetaData.getColumnLabel(i);
String value = rs.getString(columnName);
jsonObj.put(columnName,value);
}
array.put(jsonObj);
}
System.out.println(array);
response.getWriter().print(array);
}
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》及《用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。
原文地址:https://www.jb51.cc/js/38894.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。