用AJAX的Get和Post调用Servlet的简单示例
来源:互联网 发布:球球大作战骂人软件 编辑:程序博客网 时间:2024/05/17 01:10
Servlet类的代码:
public class StbCfgServicetServlet extends HttpServlet
{private static final Logger log = LoggerFactory.getLogger(StbCfgServicetServlet.class);
public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
response.setHeader("Cache-Control","no-cache");
response.setStatus(response.SC_OK);
response.setContentLength(1000);
response.setHeader("Access-Control-Allow-Origin", "*");
PrintWriter out = response.getWriter();
out.print("aaabbbccc");
log.info("[cfg update Servlet] is ok!");
out.flush();
out.close();
}
}
html页面代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Ϟ±덢τµµ</title>
<script language="javascript">
var xmlHttp;
function createXMLHttpRequest()
{
if(window.ActiveXObject)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest();
}
}
function createQueryString()
{
var smcId = document.getElementById("smcId").value;
var cfgVersion =document.getElementById("cfgVersion").value;
var cfgInfo = document.getElementById("cfgInfo").value;
var queryString = "smcId=" + smcId + "&cfgVersion=" + cfgVersion + "&cfgInfo=" + cfgInfo;
return queryString;
}
function doRequestUsingGET()
{
createXMLHttpRequest();
var queryString = "http://ip:8080/apphaus-webapp/servlet/cfg?";
//var queryString = "http://localhost:8080/struts-blank/cfg/CfgAction";
//queryString = queryString + createQueryString();
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.open("GET", queryString, true);
xmlHttp.send(null);
}
function doRequestUsingPost()
{
createXMLHttpRequest();
var URL = "http://ip:8080/apphaus-webapp/servlet/cfg";
//var URL = "http://localhost:8080/struts-blank/cfg/ajax";
var queryString = ""; //createQueryString();
xmlHttp.open("POST", URL, true);
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlHttp.send(queryString);
}
function handleStateChange()
{
if(xmlHttp.readyState == 4)
{
alert("======XMLHttpRequest.status=============" + xmlHttp.status)
if(xmlHttp.status == 200 || xmlHttp.status == 0)
{
parseResults();
}
}
}
function parseResults()
{
var responseDiv = document.getElementById("serverResponse");
alert('responseDiv=' + responseDiv);
alert('responseDiv.hasChildNodes()=' + responseDiv.hasChildNodes());
if(responseDiv.hasChildNodes())
{
alert('in ------------------');
responseDiv.removeChild(responseDiv.childNodes[0]);
}
alert('xmlHttp.responseText ======= ' + xmlHttp.responseText);
alert('xmlHttp.responseXML ======= ' + xmlHttp.responseXML);
var responseText = document.createTextNode(xmlHttp.responseText);
responseDiv.appendChild(responseText);
}
</script>
</head>
<body>
<form id="form1" name="form1" method="post" action="#">
<p><br />
<br />
smcId:<input name="smcId" type="text" id="smcId" />
</p>
<p>
<label>
cfgVersion:<input type="text" name="cfgVersion" id="cfgVersion" />
</label>
</p>
<p>
cfgInfo:<input name="cfgInfo" type="text" id="cfgInfo" />
</p>
<p> </p>
<p>
<input type="button" name="Submit" value="GET" onclick="doRequestUsingGET();"/>
<input type="button" name="Submit2" value="POST" onclick="doRequestUsingPost();"/>
</p>
<div id="serverResponse"></div>
</form>
</body>
</html>
总结:
其中Servlet中的 :response.setHeader("Access-Control-Allow-Origin", "*"); 设置比较关键(解决跨域问题)。
- 用AJAX的Get和Post调用Servlet的简单示例。
- 用Ajax的Get和Post调用Servlet的简单示例及代码
- 用AJAX的Get和Post调用Servlet的简单示例
- ajax 的post和get写法和调用的对比
- ajax的get和post
- AJAX的POST和GET
- 关于 GET 和 POST 请求的简单示例
- JS 最简单的AJAX实例, GET 和 POST 方法
- 简单封装ajax的get和post请求
- Servlet的POST和GET的区别
- servlet get和post的区别
- servlet ----post和get请求的区别
- servlet Get 和post 的区别
- ajax的post和get的区别
- servlet在post和get,ajax中收到的字符编码不同的解决方法
- 使用Ajax的Get和Post获取信息的入门示例
- ajax中get和post的区别
- Ajax中的get和post的区别
- HttpURLConnection用法详解
- SQLite3查询表结构
- colinux使用中的问题总结 1
- 超级总结:vs2008/2005 sp1 C++ 发布程序 .
- oracle 游标循环删除表数据 sql
- 用AJAX的Get和Post调用Servlet的简单示例
- JAVA正则表达式(超详细)
- android mediaplayer的尺寸缩放
- Windows下搭建QT4.7-VS2005集成开发环境
- 何秀范:《千年菩提路》总监制拍摄后记
- 将 Google Chrome 浏览器安装到非系统盘
- 近况
- 魂兮归来
- 关于压测