Android 客户端通过内置API(HttpClient) 访问 服务器(用Spring MVC 架构) 返回的json数据全过程
************************************************************服务器端代码**************************************************************************
Spring Web MVC(Servlet) 具体细节就不说了,比较不一样的地方,下面会注明!
1. web.xml 的内容如下:
2. foodcenter-servlet.xml 的内容如下:
3. 子控制器FindFoodListController.java
4. FoodServiceImpl.java
5.IFoodService.java
6.Food.java
7.Spring Web MVC 中 将ModelAndView 中的数据自动转换成json ,靠的是jackjson 中 连个jar 包 (这个下载大本营里有下,花了我2积分哦)
jackson-core-asl-1.4.2.jar
jackson-mapper-asl-1.4.2.jar
*************************************以上是服务器端代码,已全部贴完!**********************************************
访问链接是: http://192.168.1.104:8088/FCAS/findFoodList.json?typeId=1
***************************************************************************Android 客户端 访问部分************************************************************
下面进入 Android 客户端访问部分(这里暂不贴 界面,用android 的单元测试 来 测试 服务器返回的json 数据是什么样的
8. GetFoodListTest.java
9. 激动人心的时刻-----> 结果是啥?
日志记录为:
07-19 16:12:53.282: INFO/GetFoodListTest(1287): {"TYPE_ID":1,"FOOD_LIST":[{"name":"鱼香肉丝","id":1,"price":12.0,"notes":"好吃的不得了-鱼香肉丝","foodTypeId":1,"kouWeiScore":4.5,"hotLevel":5.0},{"name":"农家小炒肉","id":2,"price":15.0,"notes":"好吃的不得了-农家小炒肉","foodTypeId":1,"kouWeiScore":3.7,"hotLevel":4.3},{"name":"韭菜炒蛋","id":3,"price":10.0,"notes":"好吃的不得了-韭菜炒蛋","foodTypeId":1,"kouWeiScore":2.6,"hotLevel":3.0},{"name":"回锅肉","id":4,"price":13.0,"notes":"好吃的不得了-回锅肉","foodTypeId":1,"kouWeiScore":3.1,"hotLevel":3.8},{"name":"宫保鸡丁","id":5,"price":14.0,"notes":"好吃的不得了-宫保鸡丁","foodTypeId":1,"kouWeiScore":3.7,"hotLevel":5.0},{"name":"苦瓜炒蛋","id":6,"price":9.0,"notes":"好吃的不得了-宫保鸡丁","foodTypeId":1,"kouWeiScore":4.9,"hotLevel":4.7},{"name":"莴笋肉片","id":7,"price":10.0,"notes":"好吃的不得了-莴笋肉片","foodTypeId":1,"kouWeiScore":2.6,"hotLevel":3.9}]}
我把上面{} 里的东西 放到一个foodlist.json 文件中,格式化后的内容如下:
10. OK! 返回数据正确。
************************************************Spring 是用ObjectMapper 将 数据转换成json 数据的*****************************
下面自己写了个转换的例子:
ObjectMapperTest.java
上述程序输出的是:
{"foodlist":[{"id":1,"kouWeiScore":4.5,"price":12.0,"hotLevel":5.0,"name":"鱼香肉丝","notes":"好吃啊,真的!"}]}
format 下:
{
"foodlist" : [{
"id" : 1,
"kouWeiScore" : 4.5,
"price" : 12.0,
"hotLevel" : 5.0,
"name" : "鱼香肉丝",
"notes" : "好吃啊,真的!"
}]
}
好吧,就到这里了。基本架子搭好,接着,就用这个架子来 实现 Android 客户端+Spring MVC 去做后面的项目。继续挖矿。。。。