clover1120 2015-08-05 00:27 采纳率: 0%
浏览 1767

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同时写
  • 写回答

2条回答 默认 最新

  • 单线程的MR_LI 2015-08-05 01:47
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥30 python代码,帮调试,帮帮忙吧