2013-05-06 109 views
1

我使用java android实现客户端服务器代码。问题是我无法连接到servlet。我的问题在哪里?这里是我的代码:发送Post方法从Android客户端到Java Servlet的数据

的Android代码: ....

HttpClient client=new DefaultHttpClient(); 
HttpPost getMethod=new HttpPost("http://" + Server + "/RestaurantServer/Login"); 

try { 
    // Add your data 
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(3); 
nameValuePairs.add(new BasicNameValuePair("Mode", "Login")); 
nameValuePairs.add(new BasicNameValuePair("userName",txtusername.getText().toString())); 
    nameValuePairs.add(new BasicNameValuePair("password",txtpassword.getText().toString())); 

    getMethod.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 
    client.execute(getMethod); 

} catch (ClientProtocolException e) { 
    e.printStackTrace(); 
} catch (IOException e) { 
    e.printStackTrace(); 
} 

和服务器端:

protected void processRequest(HttpServletRequest request, HttpServletResponse response) 
     throws ServletException, IOException { 
    response.setContentType("text/html;charset=UTF-8"); 
    PrintWriter out = response.getWriter(); 

    try { 
     String mode=request.getParameter("Mode"); 
     if ("Login".equals(mode)) { 
      String userName= request.getParameter("userName"); 
      String password= request.getParameter("password"); 
      System.out.println("post method: "+userName + "! pass :"+password); 
      user = new User(password,userName); 
      if (UserDao.authenticate(user)==true) 
       out.write("Accept".toString()); 
      else 
       out.write("Wrong".toString()); 
     } else if ("Register".equals(mode)) { 
      String userName= request.getParameter("userName"); 
      String password= request.getParameter("password"); 
      String name= request.getParameter("name"); 
      String email= request.getParameter("email"); 
      String address= request.getParameter("address"); 
      String phoneNumber= request.getParameter("phoneNumber"); 
      System.out.println("reg mod: "+userName + "! pass :"+password); 
      user = new User(userName,password,name,email,address, phoneNumber); 

      if (UserDao.addUser(user) == true) 
       out.write("Added"); 
      else 
       out.write("NotAdded"); 
     } 
    } catch (Exception ex) { 
     System.out.println("Problem in message reading"); 
    } 
} 

回答

1

变化从的processRequest()来的doPost(方法名)和检查你的web.xml中的映射。可能是Servlet和URL映射不正确。发送你的web.xml和Servlet的名字。

+0

在开始时:ⅰ写:@WebServlet(名称= “登录”,URL模式= { “/登录”})我在doPost方法调用的processRequest:@覆盖 保护无效的doPost(HttpServletRequest的请求,响应HttpServletResponse的) throws ServletException,IOException processRequest(request,response); } – user698494 2013-05-06 08:28:48

+0

那么你的mapping.post可能有问题你的web.xml – 2013-05-06 09:41:30

相关问题