📄 sampleclient.java
字号:
import java.io.*;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.io.*;
public class SampleClient extends MIDlet implements CommandListener{
private static String url="http://localhost:8080/j2me/sampleserver";
private Display display;
private Command exitCommand=new Command("退出",Command.EXIT,1);
private Command okCommand=new Command("确定",Command.OK,1);
private Command sendCommand=new Command("发送",Command.OK,1);
private TextBox entryForm;
public SampleClient(){}
public void startApp(){
if(display==null){
initMIDlet();
}
}
public void pauseApp(){
}
public void destroyApp(boolean uncondtional){
exitMIDlet();
}
public void initMIDlet(){
display=Display.getDisplay(this);
entryForm=new EntryForm();
display.setCurrent(entryForm);
}
public void exitMIDlet(){
notifyDestroyed();
}
public void commandAction(Command c,Displayable d){
if(c==sendCommand){
StatusForm f=new StatusForm(entryForm.toString());
display.setCurrent(f);
f.start();
}
else if(c==okCommand){
display.setCurrent(entryForm);
}
else{
exitMIDlet();
}
}
class EntryForm extends TextBox{
EntryForm(){
super("输入文本","",80,0);
addCommand(exitCommand);
addCommand(sendCommand);
setCommandListener(SampleClient.this);
}
}
class StatusForm extends Form implements Runnable{
private byte[] data;
private StringItem message;
StatusForm(String text){
super("状态");
try{
ByteArrayOutputStream bout=new ByteArrayOutputStream();
DataOutputStream dout=new DataOutputStream(bout);
dout.writeUTF(text);
data=bout.toByteArray();
dout.close();
}
catch(Exception ex){
}
}
void display(String text){
if(message==null){
message=new StringItem(null,text);
append(message);
}
else{
message.setText(text);
}
}
void done(String msg){
display(msg!=null?msg:"Done.");
addCommand(okCommand);
setCommandListener(SampleClient.this);
}
public void prepareRequest(String originalURL,HttpConnection conn) throws IOException{
conn.setRequestMethod(HttpConnection.POST);
conn.setRequestProperty("User-Agent","Profile/MIDP-1.0 Configuration/CLDC-1.0");
conn.setRequestProperty("Content-Language","en-US");
conn.setRequestProperty("Accept","appliction/octet-Stream");
conn.setRequestProperty("Connection","close");
conn.setRequestProperty("Content-Length",Integer.toString(data.length));
OutputStream os=conn.openOutputStream();
os.write(data);
os.close();
}
public void run(){
HttpConnection conn=null;
try{
conn.setRequestMethod(HttpConnection.POST);
conn.setRequestProperty("User-Agent","Profile/MIDP-1.0 Configuration/CLDC-1.0");
conn.setRequestProperty("Content-Language","en-US");
conn.setRequestProperty("Accept","appliction/octet-Stream");
conn.setRequestProperty("Connection","close");
conn.setRequestProperty("Content-Length",Integer.toString(data.length));
OutputStream os=conn.openOutputStream();
os.write(data);
os.close();
}
catch(Exception ex){
}
display("正在获得目标.....");
try{
conn=(HttpConnection)Connector.open(url);
display("连接到服务器....");
int rc=conn.getResponseCode();
if(rc==HttpConnection.HTTP_OK){
StringBuffer text=new StringBuffer();
try{
DataInputStream din=new DataInputStream(conn.openInputStream());
int n=din.readInt();
while(--n>0){
text.append(din.readUTF());
text.append("\n");
}
}
catch(IOException ex){
}
done("得到:\n"+text.toString());
}
else{
done("无例外得到编码: "+rc);
}
}
catch(IOException ex){
}
}
void start(){
display("开始....");
Thread t=new Thread(this);
try{
t.start();
}
catch(Exception ex){
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -