我正在一個Android web服務器上工作。當我在模擬器瀏覽器上轉到localhost:8080時,它提供了一個帶有密碼字段的頁面/表單。在成功驗證密碼後,我想將用戶重定向到成功/失敗頁面。讀取傳入的http post請求並解析密碼字段進行驗證的最佳方式是什麼?正確方向的任何指針都是不勝感激。我有一個表單提交到的url的處理程序。該處理程序的代碼是:解析傳入的http post請求java android
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import org.apache.http.HttpEntity;
import org.apache.http.HttpException;
import org.apache.http.HttpRequest;
import org.apache.http.HttpResponse;
import org.apache.http.entity.ContentProducer;
import org.apache.http.entity.EntityTemplate;
import org.apache.http.protocol.HttpContext;
import org.apache.http.protocol.HttpRequestHandler;
import android.content.Context;
public class LoginHandler implements HttpRequestHandler {
private Context context = null;
public LoginHandler(Context context) {
this.context = context;
}
@Override
public void handle(final HttpRequest request, HttpResponse response,
HttpContext httpcontext) throws HttpException, IOException {
HttpEntity entity = new EntityTemplate(new ContentProducer() {
public void writeTo(final OutputStream outstream) throws IOException {
String resp = null;
OutputStreamWriter writer = new OutputStreamWriter(outstream, "UTF-8");
if(validatePassword()==true){
resp ="<html><head></head><body><h1>Home<h1><p>Success.</p></body></html>";
}
else{resp="<html><head></head><body><h1>Home<h1><p>Login Failed.</p></body></html>";}
writer.write(resp);
writer.flush();
}
});
response.setHeader("Content-Type", "text/html");
response.setEntity(entity);
}
boolean validatePassword(){
boolean pass=false;
//parse request body here and check for the password if true return true/else false
return pass;
}
}
謝謝你把back.Well它是一個沒有database.When android的服務啓動它顯示一個password.I想驗證它是否是請求服務的同一用戶的單個用戶的應用程序。我之前沒有使用JSON,但看起來像是一個可行的選項,只要在android上有一個JSON解析器。 – kalz 2012-08-08 12:15:04
'getString'返回String,而不是'boolean' – Serjio 2012-08-08 12:15:52
我的歉意,那是固定的:)。 – Mxyk 2012-08-08 12:16:32