我有一個現有的可用的Java Web應用程序。我想讓這個應用程序原生在android上,並打算繼續使用相同的servlet。使用來自現有Web應用程序的Java servlet的Android
上次我在做與服務器是在servlet把這樣的事情連通的Android應用程序:
PrintWriter out = response.getWriter();
out.print("pass");
而在Android的Java類,我這樣做:
String response = null;
try {
response = CustomHttpClient.executeHttpPost(
"http://10.0.2.2/ProjectName/" + "LoginServlet",postParameters);
String res = response.toString();
if(res.equals("pass")
{
/**do the things i want**/
}
}
catch(Exception e)
{
e.printStackTrace();
}
是在我的web應用程序的servlet的使用HttpSession中,具有分配方法是這樣的:
HttpSession session = request.getSession();
session.setAttribute("user",user);
這:
dispatch(request, response, "/login.jsp");
我加入了PrintWriter的到我的web應用程序使用它沒有現有的servlet。製作了關於logcat的 而這個錯誤:
07-12 08:59:46.344: E/jdwp(487): >>> comparing 'jsp' to 'ers'
07-12 08:59:46.454: E/jdwp(487): >>> comparing 'jsp' to 'nfo'
07-12 08:59:46.524: E/jdwp(487): >>> comparing 'jsp' to 'o$1'
07-12 08:59:46.534: E/jdwp(487): >>> comparing 'jsp' to 'nfo'
07-12 08:59:46.534: E/jdwp(487): >>> comparing 'jsp' to 'o$1'
07-12 08:59:46.594: E/jdwp(487): >>> comparing 'jsp' to 'Key'
07-12 08:59:46.934: E/jdwp(487): >>> comparing 'jsp' to 'ver'
07-12 08:59:47.044: E/jdwp(487): >>> comparing 'jsp' to 'ile'
07-12 08:59:47.334: E/jdwp(487): >>> comparing 'jsp' to 'gin'
07-12 08:59:47.334: E/jdwp(487): >>> comparing 'jsp' to 'nfo'
07-12 08:59:47.354: E/jdwp(487): >>> comparing 'jsp' to 'ame'
07-12 08:59:47.404: E/jdwp(487): >>> comparing 'jsp' to 'ger'
07-12 08:59:47.404: E/jdwp(487): >>> comparing 'jsp' to 'eme'
07-12 08:59:47.504: E/jdwp(487): >>> comparing 'jsp' to 'ams'
和比較的清單去。
問題:我錯過了什麼,或者我應該創建新的servlet嗎? (我真的希望它不是第二個選項)
編輯
我發現該錯誤是由變成一個jsp文件,而不是隻是一個文本字符串響應調度方法產生,並註釋掉調度方法允許我使用android成功登錄到服務器。
但是,我想保持調度方法和PrintWriter,使得android應用程序和web應用程序都可以使用相同的單個servlet來登錄。無論如何,我可以做到這一點?