客户端访问服务器无非三种形式,字段较多,字段的值较长较复杂的情况下都应当使用POST方式
HttpConnection httpConn = null;
DataOutputStream dos = null;
try
{
httpConn = (HttpConnection)Connector.open("http://localhost:8088/mail/maildo");
httpConn.setRequestMethod("POST"); //设置请求方式
dos = new DataOutputStream(httpConn.openOutputStream());
dos.writeUTF("write sth...");
dos.writeUTF("write sth..."); //注意写的顺序
dos.close();
httpConn.close();
}
catch(IOException e)
{}
在服务器端可以使用servlet读取请求中的字段
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
String uid = request.getParameter("uid"); //
String pwd = request.getParameter("pwd"); //由url中读取的查询字符串
DataInputStream dis = new DataInputStream(request.getInputStream());
String sth1 = dis.readUTF();
String sth2 = dis.readUTF(); //读取的顺序和写入的顺序是一样的
//返回的数据也可以方便读写
DataOutputStream dos = new DataOutputStream(response.getOutputStream());
dos.writeUTF(new Integer(mails.length).toString());
for (int i=0;i<mails.length;i++)
{
dos.writeUTF(sth3);
dos.writeUTF(sth4);//在客户端可以顺序读出sth3,sth4
}
dos.close();
这种方法在客户端需要读取大量重复结构的情况比较方便,可以分别用循环写入和读出,不必使用XML浪费存储空间和处理时间