2 baidu 23086307 baidu_23086307 于 2016.04.27 12:52 提问

servlet怎么发布接口供android客户端访问?

我是做android开发的,以前一直用的是cxf发布webservice,不过现在想弄servlet发布接口json传递数据,不知道怎么办啦!跪求大神,小女子感激不尽

4个回答

w172087242
w172087242   Ds   Rxr 2016.04.27 16:24

/**
* 这里就不给你设置字符集编码了
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 获取输出
PrintWriter out = response.getWriter();
// 可接收的类型application/json application/xml
try{
String accept = request.getHeader("Accept");
if(accept==null){
out.write("{\"errorCode\":\"101\",\"errorMsg\":\"header accept is must\"}");
return;
}
//默认用json,这里不给你提供引入
String param = request.getParameter("param");
//这里用的是com.alibaba.fastjson包下的,属于fastjson
JSONObject json = JSONObject.parseObject(param);
//这里处理自己的业务逻辑
System.out.println(json);
out.write("{\"operFlag\":\"1000\",\"data\":{...your jsondata}}");
}finally{
out.flush();
out.close();
}
}

然后你在安卓发起http请求就可以了
w172087242
w172087242   Ds   Rxr 2016.04.27 13:37

通信用http格式就可以,风格可以是restful,也可以是普通http。
和正常servlet请求一样,来了请求就可以
获取参数:request.getParameter("");
获取头:request.getHeader("");
如果参数是json对象,可以用json工具转换,如fastjson,Gson等

返回类型json:
可以直接用response获取输出流输出,也可以用io包装类进行输出。

这个就可以满足你的servlet发布正常接口了。

如果有安全设定,可以在请求头加权限等。

w172087242
w172087242 你加我吧qq:172087242
一年多之前 回复
baidu_23086307
baidu_23086307 你qq多少?加你个qq吧!我的2762284708
一年多之前 回复
baidu_23086307
baidu_23086307 谢谢啊呀!大神
一年多之前 回复
baidu_23086307
baidu_23086307 嗯嗯!会写,就是继承httpservlet
一年多之前 回复
w172087242
w172087242 回复??double?: 你会servlet吗?会的话我可以给你写个片段。
一年多之前 回复
baidu_23086307
baidu_23086307 谢谢啦!有demo吗?跪求
一年多之前 回复
baiyuliang2013
baiyuliang2013   2016.05.06 09:55
CSDNXIAON
CSDNXIAON   2016.04.27 14:22

CSDNReader(android客户端)发布!!
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!