2011-06-29 21 views
1

我使用下面的代碼將數據發送到servlet中如何從黑莓發送的數據與Servlet

 HttpConnection c = (HttpConnection)Connector.open("http://localhost:8585/resposweb/resposweb?action=create_order;deviceside=true"); 

          c.setRequestMethod(HttpConnection.POST); 
          c.setRequestProperty("If-Modified-Since", "29 Oct 1999 19:43:31 GMT"); 
          c.setRequestProperty("User-Agent", "Profile/MIDP-2.0 Configuration/CLDC-1.0"); 
          c.setRequestProperty("Content-Language", "en-US"); 
          os = (DataOutputStream)c.openDataOutputStream(); 

          //byte[] res = net.rim.device.api.system.GPRSInfo.getIMEI(); 
          os.writeUTF(ViewItems.isNewOrder()); 
          os.writeUTF(OrderDetails.getOrderDtlAsString()); 
          os.flush();  
          os.close(); 

在服務器端我使用下面的代碼從黑莓

DataInputStream in = new DataInputStream((InputStream)request.getInputStream()); 
String orderType = in.readUTF().trim(); 
String mobdata = in.readUTF().trim(); 

,但在接收數據服務器端我得到異常

java.io.EOFException 
     at java.io.DataInputStream.readUnsignedShort(Unknown Source) 
     at java.io.DataInputStream.readUTF(Unknown Source) 
     at java.io.DataInputStream.readUTF(Unknown Source) 
     at com.sath.resposweb.controller.ResPosController.processRequest(ResPosC 
ontroller.java:52) 
     at com.sath.resposweb.controller.ResPosController.doPost(ResPosControlle 
r.java:189) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl 
icationFilterChain.java:290) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF 
ilterChain.java:206) 
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV 
alve.java:233) 
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV 
alve.java:191) 
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j 
ava:128) 
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j 
ava:102) 
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal 
ve.java:109) 
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav 
a:293) 
     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java 
:849) 
     at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce 
ss(Http11Protocol.java:583) 
     at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:45 
4) 
     at java.lang.Thread.run(Unknown Source) 

下面任何一個可以告訴我如何將數據發送到一個servlet(JAVA)

回答

1

使用HttpConnection.GET方法在打開連接時通過url發送數據。

+0

感謝您的建議,它的工作 –

+0

不只謝謝,如果答案是正確的,你可以通過點擊**右標記** – BBdev