我正在尝试使用此代码在我的数据库中插入数据,但我得到了例外:
import java.io.DataInputStream;
import java.io.IOException;
import java.io.OutputStream;
import javax.microedition.io.Connector;
import javax.microedition.io.HttpConnection;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import com.sun.lwuit.*;
import com.sun.lwuit.events.ActionEvent;
import com.sun.lwuit.events.ActionListener;
public class MyMidlet extends MIDlet implements Runnable {
Form f;
TextField t1 ;
Label label1 ;
Button b1;
TextField tfNom ;
TextField tfPrenom ;
//Connexion
HttpConnection hc;
DataInputStream dis;
String url ;
StringBuffer sb ;
int ch;
public MyMidlet() {
Display.init(this);
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
// TODO Auto-generated method stub
}
protected void pauseApp() {
// TODO Auto-generated method stub
}
protected void startApp() throws MIDletStateChangeException {
f = new Form("Test");
tfNom = new TextField("nom : ");
tfPrenom = new TextField("prenom :");
b1=new Button("ok");
f.addComponent(tfNom); // append
f.addComponent(tfPrenom);
f.addComponent(b1);
b1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
System.out.println("gooooo");
url= "http://localhost/J2ME/ajout.php";
sb = new StringBuffer();
//****************************
try {
hc = (HttpConnection) Connector.open(url+"?nom="+tfNom.getText()+"&prenom="+tfPrenom.getText());
dis = new DataInputStream(hc.openDataInputStream());
while ((ch = dis.read()) != -1) {
sb.append((char)ch);
}
// trim tna77i les espaces
if ("successfully added".equalsIgnoreCase(sb.toString().trim())) {
System.out.println("succes (added)");
}else{
System.out.println("Error While Adding Data");
}
} catch (IOException ex) {
ex.printStackTrace();
}
//***********************
System.out.println("I am Ouuuut");
}
});
f.show();
}
public void run() {
}
}
- >它不起作用,我得到了这个例外: 我第一次使用NOKIA DevEnv。当我在Normal Netbeans J2ME上使用它时,它曾经工作。 任何人都可以帮忙吗?
gooooo
javax.microedition.io.ConnectionNotFoundException: error 0 in socket::open
- com.sun.midp.io.j2me.socket.Protocol.open0(), bci=0
- com.sun.midp.io.j2me.socket.Protocol.connect(), bci=143
- com.sun.midp.io.j2me.socket.Protocol.open(), bci=122
- com.sun.midp.io.j2me.socket.Protocol.openPrim(), bci=4
- com.sun.midp.io.j2me.http.Protocol.createConnection(), bci=13
- com.sun.midp.io.j2me.http.Protocol.connect(), bci=138
- com.sun.midp.io.j2me.http.Protocol.streamConnect(), bci=53
- com.sun.midp.io.j2me.http.Protocol.startRequest(), bci=7
- com.sun.midp.io.j2me.http.Protocol.sendRequest(), bci=33
- com.sun.midp.io.j2me.http.Protocol.sendRequest(), bci=3
- com.sun.midp.io.j2me.http.Protocol.openInputStream(), bci=6
- com.sun.midp.io.ConnectionBaseAdapter.openDataInputStream(), bci=5
- esprit.MyMidlet$1.actionPerformed(MyMidlet.java:89)
- com.sun.lwuit.util.EventDispatcher.fireActionSync(EventDispatcher.java:312)
- com.sun.lwuit.util.EventDispatcher.fireActionEvent(EventDispatcher.java:257)
- com.sun.lwuit.Button.fireActionEvent(Button.java:369)
- com.sun.lwuit.Button.released(Button.java:400)
- com.sun.lwuit.Button.pointerReleased(Button.java:476)
- com.sun.lwuit.Form.pointerReleased(Form.java:2059)
- com.sun.lwuit.Component.pointerReleased(Component.java:2065)
- com.sun.lwuit.Display.handleEvent(Display.java:1643)
- com.sun.lwuit.Display.edtLoopImpl(Display.java:894)
- com.sun.lwuit.Display.mainEDTLoop(Display.java:839)
- com.sun.lwuit.RunnableWrapper.run(RunnableWrapper.java:119)
- java.lang.Thread.run(), bci=5
I am Ouuuut
答案 0 :(得分:0)
您的应用程序无法连接到互联网,或者如果可以,则无法使用提供的链接连接到您的Web服务。尝试在Web浏览器中输入您的请求的URL,看看它是否可以访问。如果您通过特定端口(例如http://mylink.com:8085/my-web-service/)连接到Web服务,请确保未阻止特定端口。
答案 1 :(得分:0)
Chris Mwai是对的 - 提供的代码试图在" http://localhost/J2ME/ajout.php"显然它并不存在。可能Netbeans项目也包括服务器端代码,它部署在localhost(用户PC)和从仿真器连接到它的J2ME客户端。
您需要以某种方式启动服务器部分(它特定于您的项目)。在真实环境(非模拟器)中,您需要在Internet上的某个位置部署服务器部件,并通过手机上运行的应用程序连接到该部件。因此,您需要将URL更改为该服务器。 '本地主机'表示本地服务器(您的PC)。