服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

一个applet-servlet通讯的例子


  作者:climbenet

applet文件
===========================
import java.applet.applet;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;

public class sendapplet extends applet implements actionlistener
{
label sendlable;
label messageinfo;
button sendbutton;
textfield sendtext;
textfield messagetext;
urlconnection connect;
string message;
url chaturl;
public string getappletinfo()
{
return "this is a applet--servlet";
}

public synchronized void init()
{
super.init();
resize(500,300);
sendlable=new label("please enter massage");
messageinfo=new label("what you hava send:");
sendtext=new textfield(40);
sendbutton=new button("send");
messagetext=new textfield(40);
messagetext.seteditable(false);
//

//
panel mainp=new panel();
gridbaglayout gbl=new gridbaglayout();
gridbagconstraints gbc=new gridbagconstraints();
gbc.weightx=0;
gbc.weighty=0;
gbc.gridy=0;
gbc.gridx=0;
gbc.gridwidth=10;
gbc.gridheight=1;
gbc.anchor=gridbagconstraints.center;
gbc.fill=gridbagconstraints.none;
mainp.setlayout(gbl);
gbl.setconstraints(sendlable,gbc);
mainp.add(sendlable);
gbc.gridy=1;
gbc.gridwidth=9;
gbc.fill=gridbagconstraints.horizontal;
gbl.setconstraints(sendtext,gbc);
mainp.add(sendtext);
gbc.gridx=9;
gbc.gridwidth=1;
gbc.fill=gridbagconstraints.none;
gbl.setconstraints(sendbutton,gbc);
mainp.add(sendbutton);
gbc.gridx=0;
gbc.gridy=2;
gbc.gridwidth=10;
gbl.setconstraints(messageinfo,gbc);
mainp.add(messageinfo);
gbc.gridy=3;
gbc.weighty=100;
gbc.gridheight=10;
gbc.fill=gridbagconstraints.both;
gbl.setconstraints(messagetext,gbc);
mainp.add(messagetext);
sendbutton.addactionlistener(this);
//构造的panel加入到applet中
setlayout(new borderlayout());
add("center",mainp);
chaturl=getcodebase();
}
public synchronized void start()
{
}
public synchronized void stop()
{
}
public synchronized void destroy()
{
}

//
private void send()
{
message=sendtext.gettext();
sendtext.settext("");
//showstatus("message send!");
p("message send!");
messagetext.settext("message");
string querystring="/servlet/receive?message"+urlencoder.encode(message);
p("attemping to send :"+message);
try{
connect=(new url(chaturl,querystring)).openconnection();
showstatus("open connection!");
connect.setdefaultusecaches(false);
connect.setusecaches(false);
connect.setdoinput(true);
connect.setdooutput(false);
connect.connect();
p("make connection to "+connect);
showstatus("open sream!");
datainputstream in=new datainputstream(connect.getinputstream());
showstatus("reading");
message=in.readline();
while(message!=null)
{
messagetext.settext(message);
message=in.readline();

}//end while

}//end try
catch(malformedurlexception e2)
{
system.err.println("malformedurlexception:"+e2.tostring());

}//end catch
catch(ioexception e1)
{
system.err.println(e1.tostring());

}

}//end send

public void actionperformed(actionevent e)
{
if(e.getsource()==sendbutton)
{
send();

}

}

private void p(string debug)
{
messagetext.settext(debug);
//system.out.println("app-servlet:"+debug);

}

}

servlet文件
===========================
import java.io.*;
import java.util.date;
import javax.servlet.*;
import javax.servlet.http.*;
public void riceive extends httpservlet
{
public void service(httpservletrequest req,httpservletresponse res) throws servletexception,ioexception
{
res.setcontentype("text/plain");
servletoutputstream out=res.getoutputstream();
out.print("recive user message:");
out.print(req.getparameter("message"));

}//end service

}//end receive

扫描关注微信公众号