服务热线:13616026886

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

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

applet用http隧道技术和servlet通讯 (源码)


  applet用http隧道技术和servlet通讯 (源码) 作者:jdeveloper

applet source





import java.io.*;
import java.applet.applet;
import java.awt.*;

public class testdatastreamapplet extends applet
{
string response;
public void init(){

try{
java.net.url url = new java.net.url(getdocumentbase(),"servlet/datastreamecho");
java.net.urlconnection con = url.openconnection();
con.setusecaches(true);
con.setdooutput(true);
con.setdoinput(true);
bytearrayoutputstream byteout = new bytearrayoutputstream();
dataoutputstream out = new dataoutputstream(byteout);
out.writeutf("hello world!");
out.flush();
byte buf[] = byteout.tobytearray();
con.setrequestproperty("content-type","application/octest-stream");
con.setrequestproperty("content-length",""+buf.length);
dataoutputstream dataout = new dataoutputstream(con.getoutputstream());
dataout.write(buf);
dataout.flush();
dataout.close();

datainputstream in = new datainputstream(con.getinputstream());
response = in.readutf();
system.out.println("read from server :" + response);
in.close();
}
catch(exception e){
e.printstacktrace();
}

}

public void paint(graphics g){
g.drawstring("read from server :" + response,10,20);

}
}


servlet source





import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class datastreamecho extends httpservlet{
public void service(httpservletrequest req,httpservletresponse resp)
throws servletexception ,java.io.ioexception
{
datainputstream in = new datainputstream(req.getinputstream());
resp.setcontenttype("application/octest-stream");
bytearrayoutputstream byteout = new bytearrayoutputstream();
dataoutputstream out = new dataoutputstream(byteout);
string response = in.readutf();
out.writeutf(response);
out.flush();
byte buf[]= byteout.tobytearray();
resp.setcontentlength(buf.length);
servletoutputstream servletout = resp.getoutputstream();
servletout.write(buf);
servletout.close();
}

}

扫描关注微信公众号