J2EE学习笔记 用JSON做前后端分离

思路是:

用html写好ajax内容,触发响应的时候把数据通过ajax传给对应servlet,servlet处理好再返回内容给浏览器。

效果:

html:

要注意嵌套的内容,单双引号问题,外层用单里面就用双,外层用双内层就用单。我看站长是特别注意了下的。

这里的ajax的第二部份是省略了的哈,因为没有需要传给servlet的数据。

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<title>还是用JSON方式添加数据</title>
<script type="text/javascript" src="jquery.min.js"></script> 
</head>
<body>
	<input type="button" value="通过AJAX添加多个数据" id="sender">
	<div id="messageDiv"></div>
	<script type="text/javascript">
		$('#sender').click(function(){
			var url="getManyServlet";
			$.post(
				url,
				function(data){
					var heros=$.parseJSON(data);
					for(i in heros){
						var oid=$("#messageDiv").html();
						var hero = heros[i];
						$("#messageDiv").html(oid+"<br>"+hero.name+"  ----  "+hero.hp);
					}
				}
			);
		});
	</script>
	
</body>
</html>

servlet:

把集合转换成JSON,再转换成字符串,传给前端

import java.io.IOException;
import java.io.Writer;
 
import java.util.ArrayList;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 



import net.sf.json.JSONObject; 
import net.sf.json.JSONSerializer;
public class GetManyServlet extends HttpServlet{
	protected void service(HttpServletRequest request,HttpServletResponse response)
	 throws ServletException,IOException{
		List<Hero> heros=new ArrayList<>();
		for(int i = 0;i <10;i ++)
		{
			Hero hero=new Hero();
			hero.setHp(500+i);
			hero.setName("name "+i);
			heros.add(hero);
		}
		
		String result=JSONSerializer.toJSON(heros).toString();
		response.setContentType("text/html;charset=utf-8");
		response.getWriter().print(result);
	}
	public static void main(String[] args) {
        List<Hero> heros = new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            Hero hero = new Hero();
            hero.setName("name"+i);
            hero.setHp(500+i);
            heros.add(hero);
        }
         
        System.out.println(JSONSerializer.toJSON(heros).toString());
    }
}

学习网站:https://how2j.cn/p/4582

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值