JS请求servlet功能示例
本文实例讲述了JS请求servlet的方法。分享给大家供大家参考,具体如下:
前端js代码:
//创建ajax请求对象
varxmlHttp;
functioncreateXMLHttpRequest(){
if(window.ActiveXObject){
xmlHttp=newActiveXObject("Microsoft.XMLHTTP");
}
elseif(window.XMLHttpRequest){
xmlHttp=newXMLHttpRequest();
}
}
/**
*表单提交
*/
functionsubmit(){
//发送请求
varsearchContent=$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");//无作用
}
//处理结果
functionhandleStateChange(){
if(xmlHttp.readyState==4){
if(xmlHttp.status==200||xmlHttp.status==0){
vart=xmlHttp.responseText;
jsonobj=eval('('+t+')');
}
}
}
servlet端:
//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*FROMGEOwhereSTlike'%"+searchName+"%'");
ResultSetMetaDatametaData=rs.getMetaData();
rs.beforeFirst();//将指针移到最开始的位置
intcolumnCount=metaData.getColumnCount();//列数
JSONArrayarray=newJSONArray();
while(rs.next()){
JSONObjectjsonObj=newJSONObject();
//输出数据
for(inti=1;i<=columnCount;i++){
StringcolumnName=metaData.getColumnLabel(i);
Stringvalue=rs.getString(columnName);
jsonObj.put(columnName,value);
}
array.put(jsonObj);
}
System.out.println(array);
response.getWriter().print(array);
}
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript中ajax操作技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。