星空网 > 软件开发 > Java

SSH服务器与Android通信

很多应用要求SSH服务器不仅和PC通信,还要和Android移动设备通信,这时就需要用到JSON了。其基本原理是服务器将数据转换成JSON格式,发送给Android客户端,客户端再将JSON格式的数据解析出来,从而实现了SSH服务器和Android客户端之间的通信。

(1)新建一个User library,包含JSON所需要的jar

SSH服务器与Android通信

注意其中的gson除了加入Build path以外,还要复制到WEB-INF/lib/,否则会出错。

(2)新建一个ResUtil文件,使用GSON将数据转换成JSON字符串:

SSH服务器与Android通信

代码如下:

package com.school.tool;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.http.HttpServletResponse;import com.google.gson.Gson;public class ResUtil {    public static void toJson(HttpServletResponse response, Object data)     throws IOException {        Gson gson = new Gson();    String result = gson.toJson(data);    response.setContentType("text/json; charset=utf-8");    response.setHeader("Cache-Control", "no-cache");    PrintWriter out = response.getWriter();    out.print(result);    out.flush();    out.close();      } }

(3)新建AClasQueryAction文件,处理Android客户端的请求:

SSH服务器与Android通信

代码如下:

package com.school.action;import java.io.IOException;import java.util.HashMap;import java.util.List;import java.util.Map;import org.apache.struts2.ServletActionContext;import net.sf.json.JSONArray;import com.school.entity.Clas;import com.school.service.ClasService;import com.school.tool.ResUtil;import com.opensymphony.xwork2.ActionSupport;@SuppressWarnings("serial")public class AClasQueryAction extends ActionSupport {    private ClasService clasService;  public void setClasService(ClasService clasService) {    this.clasService = clasService;  }    private Clas clas;  // 封装并返回所有课程信息  public String execute(){    Map<String, Object> map = new HashMap<String, Object>();    List<Clas> claslist = clasService.findAll();    try{          map.put("Classes", claslist);      ResUtil.toJson(ServletActionContext.getResponse(), map);    }catch (IOException e){      e.printStackTrace();    }    return null;  }}

该文件获得所有的课程信息,封装在Map里面,并返回给客户端。

(4)修改applicationContext.

  <bean id="aClasQueryAction" class="com.school.action.AClasQueryAction">     <property name="clasService" ref="clasService"></property>  </bean>

在struts.

    <action name="aclasquery" class="aClasQueryAction">    </action>

(5)重新启动服务器,在浏览器中访问http://localhost:8080/School/aclasquery,结果如下:

SSH服务器与Android通信

可见服务器正确的以JSON格式返回了所有课程的数据。如果使用Android客户端访问该URL,也可以获得以上JSON格式的数据,然后再解析出来就可以了。




原标题:SSH服务器与Android通信

关键词:Android

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

新手指南如何分析商标注册成功后的样本:https://www.kjdsnews.com/a/1313958.html
攻略国际品牌商标注册的费用详解:https://www.kjdsnews.com/a/1313959.html
揭秘莱西国际商标注册要多少费用?:https://www.kjdsnews.com/a/1313960.html
揭秘美国商标注册价格行情:真实定价一览无余!:https://www.kjdsnews.com/a/1313961.html
揭秘美国商标发证费用的真相:https://www.kjdsnews.com/a/1313962.html
提示欧盟商标注册:7个必须注意的事项:https://www.kjdsnews.com/a/1313963.html
川藏线自驾游要怎么走才比较划算呢?:https://www.vstour.cn/a/411240.html
去日本入住酒店,东西随意用却有一个特殊“要:https://www.vstour.cn/a/411241.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流