Ajax + Servlet + JSON 包 – 使用
主要用於接受對象:
前臺:
var obj ="{'name':'123','age':'321'}";
XMLHttpReq.send("conn="+obj); // 發送請求
後臺:
String str = request.getParameter("conn");
JSONObject object = JSONObject.fromObject(str);
String name = object.getString("name");
發送對象:
User user = new User();
user.setAge(26);
user.setName("www");
PrintWriter out = response.getWriter();
System.out.println(name + "-" + age);
JSONObject jsonObject = JSONObject.fromObject(user);
out.write(jsonObject.toString());
發送 list 和數組
JSONArray jsonArray = JSONArray.fromObject(list);
System.out.println(jsonArray);
發送 map:
JSONObject json = JSONObject.fromObject(map);
System.out.println(json);
一、建立項目項目
二、添加 JSON 庫文件
三、創建頁面
代碼:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords"
content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script type="text/javascript" src="json.js"></script>
<script type="text/javascript">
var XMLHttpReq;
//創建XMLHttpRequest對象
function createXMLHttpRequest() {
if (window.XMLHttpRequest) { //Mozilla 瀏覽器
XMLHttpReq = new XMLHttpRequest();
} else if (window.ActiveXObject) { // IE瀏覽器
try {
XMLHttpReq = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
XMLHttpReq = new
ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
}
}
}
}
//發送請求函數
function sendRequest()
{
createXMLHttpRequest();
var url = "add.do";
XMLHttpReq.open("post", url, true);
XMLHttpReq.setRequestHeader("Content-Type","application/x-www-for
m-urlencoded");
XMLHttpReq.onreadystatechange = processResponse;//指定響應函數
var obj ="{'name':'123','age':'321'}";
XMLHttpReq.send("conn="+obj); // 發送請求
//XMLHttpReq.send(o.toJSONString());
}
// 處理返回信息函數
function processResponse()
{
if (XMLHttpReq.readyState == 4)
{
// 判斷對象狀態
if (XMLHttpReq.status == 200)
{
var t = XMLHttpReq.responseText; //返回文本數據(JSON對象格
式的數據,數組)
var obj = eval('('+t+')'); //json對象的字符串轉換成對象
var ht = "";
for(var i = 0;i<obj.length;i++){
ht +=obj[i].b;
ht +=obj[i].a;
}
// 信息已經成功返回,開始處理信息
document.getElementById("ca").innerText =obj.name ;
}
else
{
//頁面不正常
window.alert("您所請求的頁面有異常。");
}
}
}
</script>
</head>
<body>
<button οnclick="sendRequest();">sendRequest</button>
<div id="ca">asdfasdfasd</div>
</body>
</html>
四、編寫 Servlet 接受數據
代碼:
public class AddServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException {
String str = request.getParameter("conn");
JSONObject object = JSONObject.fromObject(str);
String name = object.getString("name");
int age = object.getInt("age");
User user = new User();
user.setAge(26);
user.setName("www");
PrintWriter out = response.getWriter();
System.out.println(name + "-" + age);
JSONObject jsonObject = JSONObject.fromObject(user);
out.write(jsonObject.toString());
}
}
Ajax+Servlet
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
Hibernate——HQL語句
KLeonard
2020-06-14 01:13:49
面向開發者的Docker實踐
布尔bl
2020-05-09 11:59:39
Hibernate——自動創建數據庫表 & 對象的三種狀態
KLeonard
2020-02-22 23:12:55
Hibernate——Hibernate核心類和接口
KLeonard
2020-02-22 23:12:33
Hibernate——關係映射之多對一與一對多 & 懶加載 & 級聯操作
KLeonard
2020-02-22 23:12:33
Hibernate——入門
KLeonard
2020-02-22 23:12:33
Struts2實現自定義轉換器和全局類型轉換器
傅荣康
2020-02-22 08:27:41
Struts2基於XML配置方式實現對Action方法進行校驗
傅荣康
2020-02-22 08:27:41
Struts2實現同時多文件上傳
傅荣康
2020-02-22 08:27:41
Struts2下多文件的上傳與下載
俩天
2020-02-22 03:08:14
Spring事務傳播行爲最好的理解文章
https://mp.weixin.qq.com/s/IglQITCkmx7Lpz60QOW7HA
ToBe_Coder
2020-07-02 17:48:44
MyBatis 查詢返回map中key默認大寫改小寫解決方案
ToBe_Coder
2020-06-23 10:58:41
跟我學框架之struts框架搭建(一)
hgl168918
2020-06-22 04:29:47
JavaWeb框架梳理(五)——Mybatis進階
vanlyy
2020-06-20 22:38:25