1.研究了2天 终于 用java 搭建好了 一个万能的 用url 直接返回给界面 局部请求
下面就来说一下思路,开始的时候要弄好 json的数据转化,有很多就使用什么 ,如下图,对于我来说这种完全 玩不明白怎么回事?然后我就去用最本的方法自己 弄一个。你不要总是依赖于阿里巴巴,虽然阿里巴巴,很强大但是,我还是觉得自己做一个又能没有坏处,我命长。。。所以就出来
不说了看代码:直接复制就能用哦!
补充一下:<script src="js/jquery-1.10.2.js"></script> 好了 复制我代码 到项目Dosql 下吧,php什么的已经不重要了,注意自己的url 请求到项目上 一定要弄好,有些东西 是不能给用户看到的!
1.jsp部分
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html>
<html>
<head>
<title>json数据</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
<script src="js/jquery-1.10.2.js"></script>
</head>
<body>
<input id="xuan" type="button" value="获取解析json数据">
<table id="ta" cellspacing="0" border="1px solid" style="border-color:red;">
<tr>
<td>name</td>
<td>age</td>
</tr>
</table>
</body>
<script>
$(function(){
$("#xuan").click(function(){
$.ajax({
//这个url根据你自己的环境去改一下就行了
url:"http://127.0.0.1:8080/Dosql/alldata",
data:"",
Type:"get",
dataType:"json",
success:function(res){
//组装第一个取出数据组装网页html标签元素
var td1 = $("<td>"+res.name+"</td>")
//组装第二个td
var td2 = $("<td>"+res.age+"</td>")
//组装tr
var tr = $("<tr></tr>");
//把td表格追加到tr的子元素后面
$(tr).append(td1).append(td2);
//追加到table子元素后面
$("#ta").append(tr);
},
error:function(err){
alert(err)
}
})
})
})
</script>
</html>
2.java.class部分
package servlet;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import javax.servlet.Servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Controller extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// 允许所有的域都可以跨域访问
resp.addHeader("Access-Control-Allow-Origin", "*");
// 假设有数据
Map<String, String> map = new HashMap<String, String>();
// 这里制造两个数据
map.put("name", "廖加金");
map.put("age", "25岁");
// 得到数量
int count = map.size();
// 计数
int encount = 0;
// 拼接json数据
String json = "{";
for (Entry<String, String> entry : map.entrySet()) {
encount++;
json += "\"" + entry.getKey() + "\":";
if (encount == count) {
json += "\"" + entry.getValue() + "\"";
continue;
}
json += "\"" + entry.getValue() + "\",";
}
json += "}";
// System.out.println(json);
//设置返回的数据编码格式
resp.setContentType("text/html;charset=UTF-8");
// 返回json数据
resp.getWriter().print(json);
}
}