Android应用获取后台基于SSH框架开发的接口数据
来源:互联网 发布:淘宝账号查看平衡网页 编辑:程序博客网 时间:2024/05/21 08:58
最近要将一个以SSH框架开发的web应用做成Android应用,现在和大家分享一下安卓端和ssh后台接口的数据交互过程。
首先,你要确定你的后台没有问题(写个jsp调试一下)。
第一步,所有的配置文件,只需修改struts配置文件,将返回类型改为json。
struts.xml
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"><struts> <package name="strutsBean" extends="struts-default,json-default" namespace="/"> <action name="login" class="cn.xiaoniu.actions.UserAction" method="login"> <result name="success" type="json"><param name="root">jdata</param></result> <result name="fail" type="json"><param name="root">jdata</param></result> </action> </package></struts>
其实这两个result合成一个更方便,稍微改下就行,笔者这里就不改了。
第二步,修改actoin类。
action类中添加变量,并设置get,set方法,get方法必须要有,不然前端获取的json值为null!!!
private Map<String, Object> jdata;public Map<String, Object> getJdata() { return jdata; }public void setJdata(Map<String, Object> jdata) { this.jdata = jdata; }
第三步,修改login()方法,直接放代码。
public String login() { HttpServletRequest request = ServletActionContext.getRequest(); String mobile = request.getParameter("mobile"); String password = request.getParameter("password"); loginUser = new User(mobile, password); if (userService.login(loginUser)) { jdata = new HashMap<String, Object>(); jdata.put("mobile", mobile); jdata.put("password", password); jdata.put("success", true); return "success"; } jdata = new HashMap<String, Object>(); jdata.put("success", false); return "fail"; }
到此,登录就做好了,我们现在用插件来调试一下,看看返回的json。
url:http://192.168.0.130:8080/xiaoniu/login
如果获取到json值了,就说明后台没问题了,移动端的的代码如下,需要先配置下网络权限。
private void login(final String mobile, final String password) { HttpClient client = new DefaultHttpClient(); HttpPost httpPost = new HttpPost(serverUrl); List<NameValuePair> params = new ArrayList<NameValuePair>(); params.add(new BasicNameValuePair("mobile", mobile)); HttpResponse httpResponse = null; try { httpPost.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8)); httpResponse = client.execute(httpPost); HttpEntity entity = httpResponse.getEntity(); String entityString = EntityUtils.toString(entity); String jsonString = entityString.substring(entityString.indexOf("{")); JSONObject json = new JSONObject(jsonString); if(json.getString("success").equals("true")){ startActivity(new Intent(LoginActivity.this,MainActivity.class)); }else if(json.getString("success").equals("false")){ Toast toast = Toast.makeText(LoginActivity.this, "用户名或密码错误!", Toast.LENGTH_SHORT); toast.show(); } } catch (UnsupportedEncodingException e) { Log.d("haha", "UnsupportedEncodingException"); e.printStackTrace(); } catch (ClientProtocolException e) { Log.d("haha", "ClientProtocolException"); e.printStackTrace(); } catch (IOException e) { Log.d("haha", "IOException"); // TODO Auto-generated catch block e.printStackTrace(); } catch (JSONException e) { Log.d("haha", "IOException"); // TODO Auto-generated catch block e.printStackTrace(); } }
好了,到此都完成了,其他请求同理。有问题可以提问交流
阅读全文
0 0
- Android应用获取后台基于SSH框架开发的接口数据
- 后台基于SSH框架开发的Android应用的前后台数据交互
- ssh框架ajax获取后台list数据简单例子
- 基于SSH框架 的Web应用系统
- 基于ssm框架的个人博客系统(11)--后台开发及前后端数据交互
- 基于ssh的餐饮服务系统后台开发总结
- 模拟基于ajax调后台接口的json数据
- 基于SSM的Android后台开发
- 基于JQuery框架的AJAX数据获取
- 基于SSH框架的Web应用架构分析
- ping++支付接口对接(基于SSH框架)
- 基于构件开发的应用框架设计
- 基于构件开发的应用框架设计
- 基于Spring框架的WebSphere应用开发
- 基于Spring框架的WebSphere应用开发
- 基于Spring框架的WebSphere应用开发
- 基于构件开发的应用框架设计
- 基于构件开发的应用框架设计
- git简介
- POJ3259
- R语言基于模型的聚类方法处理
- SpringBoot笔记之四:持久化数据之Mysql
- shell脚本监控mysql主从同步状态并自动修复
- Android应用获取后台基于SSH框架开发的接口数据
- Android技术堆栈积累
- 写MySQL存储过程实现动态执行SQL ——复制转载
- Java三大集合类源码阅读笔记【包含超类Collection】提供学习源码
- 跨域问题解决
- 总线地址线的设置
- JMeter初探:一个简单的性能测试
- C语言程序设计(45)
- springmvc用户注册