json与ajax的实例
这个实例可以结合数据库jdbc使用,但是这边为了简单演示就直接创建了对象来做。
实例开始前的准备(导入需要的jar包等)
先要导入对应需要的jar包
还有导入要用到的jQuery的库
运行过程中可能你的tomcat里也需要加入对应的jar包
1、首先创建个jsp页面,写好输入前端
<body>
uid:<input type="text" id="uid"><br>
name:<input type="text" id="uname"><br>
pass:<input type="text" id="pass"><br>
money:<input type="text" id="money">
</body>
2、在jsp页面写jquery代码
<script type="text/javascript" src="js/jquery-1.8.0.min.js"></script>
<script type="text/javascript">
$(function(){
$("#uid").blur(function(){
//1.获得value值
var uid = $(this).val();
//2.发送请求
$.post("/getuser","uid="+uid,function(rs){//用post方式请求,地址为/getuser,传数据uid到接收的servlet页面
//function(rs){ 这里是处理servlet页面传来的结果数据 }
//转换成可以处理的js
rs=eval("("+rs+")");
//此时的rs是json格式的对象(接收servlet传来的数据)
$("#uname").val(rs.username);
$("#pass").val(rs.password);
$("#money").val(rs.money);
});
});
})
</script>
3、创建一个servlet页面
@WebServlet(urlPatterns = "/getuser")
public class GetUsersServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//1.接收参数
String uid = req.getParameter("uid");
int userid=Integer.parseInt(uid);
Users users=null;
switch (userid){
case 1:
users=new Users(1,"一号","11111",11.22);
break;
case 2:
users=new Users(2,"二号","22222",22.33);
break;
default:
users=new Users();
}
//java->json
JSONObject jsonObject = JSONObject.fromObject(users);//json
resp.setContentType("text/html;charset=utf-8");//设置编码
PrintWriter writer = resp.getWriter();
writer.print(jsonObject);
//转为的json格式为: {"money":11.22,"password":"11111","uid":1,"username":"一号"}
}
}