j2me setRequestProperty
httpConnection 里的 setRequestProperty怎么用啊,我想通过手机客户端链接到服务器,并且在客户端输入关键字查询信息,在服务器那边返回查询结果给客户端
[解决办法]
加上客户端希望使用无格式的文本内容类型和GET方法请求应答,MIDlet应该包含下面代码:
HttpConnection hc=(HttpConnection)Connector.open(url);
hc.setRequestMethod(HttpConnection.GET);
hc.setRequestProperty("Content-type","//text/plain");
手机客户端链接到服务器,并且在客户端输入关键字查询信息,在服务器那边返回查询结果给客户端:
import java.io.DataInputStream;
import javax.microedition.io.Connector;
import javax.microedition.io.HttpConnection;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
//送给服务器一些信息,得到响应,例如:
public class MIDlet3 extends MIDlet implements CommandListener{
private Form frm = new Form("HTTP测试");
private TextField tfAcc = new TextField("输入账号","",10,TextField.ANY);
private TextField tfPass = new TextField("输入账号","",10,TextField.ANY);
private Command cmdLogin = new Command("登陆",Command.SCREEN,1);
private Display dis;
protected void startApp() throws MIDletStateChangeException {
dis = Display.getDisplay(this);
dis.setCurrent(frm);
frm.append(tfAcc);
frm.append(tfPass);
frm.addCommand(cmdLogin);
frm.setCommandListener(this);
}
public void commandAction(Command c,Displayable d){
if(c==cmdLogin){
ValidateTehread vt = new ValidateTehread();
vt.start();
}
}
class ValidateTehread extends Thread{
public void run(){
try{
String url = "http://localhost:9999/login.jsp?acc="+tfAcc.getString()+"&pass="+tfPass.getString();
//连接到HTTP服务器
HttpConnection hc =
(HttpConnection)Connector.open(url);
DataInputStream dis = hc.openDataInputStream();
byte[] b = new byte[(int)hc.getLength()];
dis.read(b);
frm.append(new String(b));
}catch(Exception ex){
ex.printStackTrace();
}
}
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
// TODO Auto-generated method stub
}
protected void pauseApp() {
// TODO Auto-generated method stub
}
}
然后连接到页面,页面获取这些值,来验证。
是这样的吗?
[解决办法]
请问楼主解决了吗?我也遇到这种问题