ssh-android集合SSH框架服务端应该怎么操作

问题描述

android集合SSH框架服务端应该怎么操作

public class LoginProtocol extends BaseProtocol{

 private List<NameValuePair> nameValuePair = new ArrayList<NameValuePair>();
private final static String URL = "http://192.168.1.110:8080/healthServer/login";
public boolean checkLogin(User user){
    try {  

        addNameValuePair("name", user.getUsername());
        addNameValuePair("password", user.getPassword());

        pack(URL);
        System.out.println("URL是:::::::"+URL);
        parse();
        JSONObject obj = this.getJSON();
        System.out.println("输出obj是"+obj);
        if(obj.getString("result").equals("false")){
            return false;
        }else{
            return true;
        }
    } catch (Exception e) {
        e.printStackTrace();
        System.out.println("mmmmmmmmmmmmmmmmm");
        return false;
    }
}

}

public class BaseProtocol {

private StringBuilder sb = new StringBuilder();  

private HttpClient httpClient;
private HttpPost httpRequest;
private HttpResponse response;  

private List<NameValuePair> nameValuePair = new ArrayList<NameValuePair>();  

BaseProtocol() {
    httpClient = new DefaultHttpClient();
}  

/**
 * 向服务器端发送请求
 *
 * @param url
 * @throws Exception
 */
protected void pack(String url) throws Exception {
    httpClient = new DefaultHttpClient();
    httpRequest = new HttpPost(url);
    try{
    httpRequest.setEntity(new UrlEncodedFormEntity(nameValuePair,HTTP.UTF_8));
    //取得HTTP response
    System.out.println("httpRequest是"+httpRequest);
    System.out.println(nameValuePair+"//////////////////////");
    System.out.println("entity是;;;;;;;;;"+httpRequest.getEntity());
    response = httpClient.execute(httpRequest);
    System.out.println(response);
    }catch (Exception e){
    e.printStackTrace();
    }
}

/**
 * 得到返回数据
 *
 * @param url
 * @return
 * @throws Exception
 */
protected void parse() throws Exception {
    // TODO 状态处理 500 200
    if (response.getStatusLine().getStatusCode() == 200) {  

        System.out.println("ssssssssssssssssss"+response.getStatusLine().getStatusCode());
        BufferedReader bufferedReader2 = new BufferedReader(
                new InputStreamReader(response.getEntity().getContent()));  

        System.out.println("jjjjjjjjjjjjjjjjjjjjjjjjj"+bufferedReader2);
        for (String s = bufferedReader2.readLine(); s != null; s = bufferedReader2
                .readLine()) {
            sb.append(s);
            System.out.println(sb+"****************");
        }
        System.out.println("执行Parse()中的If语句了");
    }
}  

/**
 * 向服务器发送信息
 *
 * @param key
 * @param value
 */
public void addNameValuePair(String key, String value) {
    nameValuePair.add(new BasicNameValuePair(key, value));
    System.out.println(nameValuePair);
}  

/**
 * 返回JSONObject对象数据模型
 *
 * @return
 * @throws JSONException
 */
public JSONObject getJSON() throws JSONException {  

    return new JSONObject(sb.toString());
}

}
struts.xml文件:

/main/hint/errorpage/error.jsp
/main/hint/errorpage/javaerror.jsp
/WEB-INF/main/message.jsp

     <action name="login" class="action.login.LoginAction" method="logins">

        <result name="success2" type="json"><param name="includeProperties">result</param>
            <param name="ignoreHierarchy">false</param></result>
        <result name="success1" >/main/loginSuccess.jsp</result>
        <result name="false" >/main/loginFail.jsp</result>
    </action>
    在loginAnction中我应该怎么处理,怎么接收android传过来的HttpPost,怎么将httpRequest.setEntity(new UrlEncodedFormEntity(nameValuePair,HTTP.UTF_8))中的NameValuePair中的用户信息读出来
    或者,我在服务端应该怎么处理,请大神们指点一下,项目现在需要写web和android同时写

解决方案

LOgin方法使用服务端的URL调用方法,执行post方法,传出用户名和密码,然后对应的给与解析。返回true

解决方案二:

后台不管用什么框架,只是给你客户端(app),返回解析的结果的。
一般的流程是:
1. app端调用后台的接口去查询数据
2. 后台根据接口查询出数据之后,组装成json等格式返回给app
2. app端在根据返回结果解析,作出响应。

时间: 2024-07-29 18:16:52

ssh-android集合SSH框架服务端应该怎么操作的相关文章

android微信支付的服务端该怎么写,官网demo看半天都看不明白,有没有手把手教程,要服务端的

问题描述 android微信支付的服务端该怎么写,官网demo看半天都看不明白,有没有手把手教程,要服务端的 android微信支付的服务端该怎么写,官网demo看半天都看不明白,有没有手把手教程,要服务端的 解决方案 微信开发者文档里面写了恩 解决方案二: 我之前微信支付服务端是用demo中的asp写的如果有需要,可以联系我QQ360206731 解决方案三: --同样困惑中,找资料了看不太懂哪

winform-Winform客户端和Android客户端同时使用一个服务端,后端(C#)采用什么技术实现?

问题描述 Winform客户端和Android客户端同时使用一个服务端,后端(C#)采用什么技术实现? asp.net Webapi作为Android服务端(个人想法),Winform使用什么服务端呢?如果要求数据同步,使用观察者模式?使用的协议也是个问题.求大神指点! 解决方案 web API都可以,只要你 的服务器是什么平台就选对应的,比如windows就用C#等开发web API这样各种客户端都可以访问 解决方案二: 考虑到android调用的方便,建议直接用asp.net mvc返回js

android客户端和js服务端RSA加密解密

问题描述 android客户端和js服务端RSA加密解密 android客户端利用js服务端的公钥加密数据再发给js服务端解密,可是js客户端总返回给我解密失败,找不到问题在哪,求大神指教!!!

android客户端怎么处理服务端发过来的日期格式

问题描述 android客户端怎么处理服务端发过来的日期格式 接收到的服务端数据 { "examDate": { "date": 20, "day": 5, "hours": 0, "minutes": 0, "month": 2, "nanos": 0, "seconds": 0, "time": 1426780800000,

xutils 聚合函数-Android开元框架虚体绿色的Dbutils操作

问题描述 Android开元框架虚体绿色的Dbutils操作 谁用过xutils框架啊?那个Dbutils如何使用聚合函数啊?我现在主要获取数据库聚合函数sun如何查询啊?还有Dbutils需要手动关闭么? 解决方案 http://my.oschina.net/u/2001659/blog/305082

框架-服务端之间通讯,有哪些主流的方法?

问题描述 服务端之间通讯,有哪些主流的方法? 有两类服务端,假设是A和B吧,是多对一的关系,分别部署在多台物理服务器的tomcat中: 现在多个A(A1....An),每隔秒级的间隔向B发送消息,每个消息几k到200k不等,B会同一解析合并后存库. 在这个场景下,A和B之间通信采用什么方式比较好?有没有比较经典的模型或者框架? 解决方案 如果是web模式,那么最好用wev socket,这样可以实现客户端和服务器的双向通讯,效率是最高的.如果浏览器不支持,也可以用长轮询. 解决方案二: 消息队列

android与asp.net服务端共享session的方法详解

前言 最近因为工作的需要,要实现一个功能,就是需要通过发送短信进行注册,现在想把短信验证码放到服务器的session值中,当客户端收到短信并提交短信码时由asp.net服务端进行判断,那么如何共享这个session那么需要在android客户端中添加几行代码. 实现方法 如下操作.第一次数据请求时就获取这个cookie的名称并且得到这个cookie的值,这个即是sessionid的值并保存在一个静态变量中,然后在第二次请求数据的时候要将这个sessionid一并放在Cookie中发给服务器,服务

android 客户端与服务端通信

问题描述 android 客户端与服务端通信 各位大神,我想用两个fragment制作两个页面,一个页面(fragment1)实现服务器与客户端的连接,另一个(fragment2)实现收发数据,但fragment2的代码应该要建立在客户端与服务器的连接上对吧,请问代码该怎样写呢?或者思路是怎样的? 解决方案 Android网络编程之TCP通信----简单客户端与服务端通信Android网络编程之UDP通信----简单客户端与服务端通信Android客户端与PHP服务端通信(二)---JSON交互

使用Mina框架开发QQ Android 客户端(2) 客户端与服务端的通信

一个简单的例子,对Mina框架有了大体的了解,在上节的基础上,看看 怎样实现客户端与服务端的通信, 废话不多说了,直接看代码: public class Test { public static void main(String[] args) throws Exception{ SocketConnector connector = new NioSocketConnector(); IoFilter filter = new ProtocolCodecFilter(new TextLineC