前后端的数据交互

我是一名程序员也是一名诗人,也爱唱歌弹琴去说爱,我还是某所大学里面隐藏的高手,小隐隐于野,大隐隐于市,我和大家开玩笑的,我其实是一名研究生哈哈。作为一名程序员我也有自己遇到的各种问题,引用我自己写的诗“人生自古求难全,更那堪,几度叹折衷。”,算了算了,走正题。

一、问题伊始

交待一下这票文章是干嘛的。这篇文章是我最近的一个项目的一个步骤,我拿来分享与大家。是关于前端与后端的数据传输问题。

二、问题适用范围

我做的是安卓端与服务端的数据交互,整体全部用java设计,安卓端是用okhttp-utils方式提交json数据,而后端是用Tomcat Servlet接收并处理json数据,在此交互中,我抽取部分代码作为自己的工具类,拿来与大家分享。json数据是用Gson去生成与解析,用别的也可以,但是建议保证两方数据的一致性

三、代码

安卓端访问请求:

   String url = ADD_NEWS;
                    OkHttpUtils
                            .postString()
                            .url(url)
                            .mediaType(MediaType.parse("application/json; charset=utf-8"))
                            .content(new Gson().toJson(new News(null,title,content,new Date())))
                            .id(100)
                            .build()
                            .execute(new MyStringCallback());
                }

大家看好,这里使用.postString()提交方式区别于以往的post提交,因为我需要提交的参数中带有中文字符,如果用平常的post,get请求只会在服务端数据库添加乱码

服务端servlet中接收json数据请求

	    String sb = WebUtils.parseJson(req);
        News news = gson.fromJson(sb.toString(), News.class);

抽取的小工具代码如下:

	    public static String parseJson(HttpServletRequest request){
        try {
            BufferedReader br = new BufferedReader(new InputStreamReader(request.getInputStream(),"utf-8"));
            String line = null;
            StringBuilder sb = new StringBuilder();
            while ((line = br.readLine()) != null) {
                sb.append(line);
            }
            return sb.toString();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;

    }

四、最后

最后,我发表一下言论,可能我们在平常遇见各种各样的问题,但是一定要心平气和的去解决这各种问题,当你解决出来问题后,也会有各种不一样的成就感。我的代码比较基础,大家基本上一看就懂,这其实是我的初衷,代码的简洁易懂是我们程序员一直追求的内容,但是有时候往往会顾此失彼,所以我们在增进自己的技术的同时,要给新人留下一些可以进步的空间,这样我们的世界就会越来越好,这难道不是你和我的愿望吧?

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值