请教各位一个关于applet 与 servlet相互通信的一个问题!(很急)
找了一个applet与servlet通信的例子。
编译没有问题。运行时applet无法连接到servlet
servlet的路径没有问题,applet放在d盘的根目录下。
运行时显示:
java.io.IoException :Server Return HTTP response code:405 for URL........
程序如下所示!!!!!!!!!!
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class ProcessDemo extends HttpServlet
{
public void doGet(HttpServletRequest req,
HttpServletResponse resp)
throws IOException, ServletException
{
System.out.println("1234");
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();
} // end dopost
}//end servlet
import java.io.*;
import java.applet.Applet;
import java.awt.*;
public class ProcessApplet extends Applet
{
String response;
public void init(){
try{
System.out.println("1234");
java.net.URL url = new java.net.URL("http://127.0.0.1:8080/servlet/ProcessDemo");
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);
}
}