我的代码如下:
Applet:
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(),"DataServletEch.class");
java.net.URL url = new java.net.URL("http://localhost:8080/DataServletEch.class");
System.out.println("URL="+url);
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:
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;public class DataServletEch 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();
}
}
运行后出现错误:
java.io.EOFException
at java.io.DataInputStream.readFully(DataInputStream.java:178)
at java.io.DataInputStream.readUTF(DataInputStream.java:565)
at java.io.DataInputStream.readUTF(DataInputStream.java:522)
at TestDataStreamApplet.init(TestDataStreamApplet.java:30)
at sun.applet.AppletPanel.run(AppletPanel.java:373)
at java.lang.Thread.run(Thread.java:595)
希望高手指点,万分火急
Applet:
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(),"DataServletEch.class");
java.net.URL url = new java.net.URL("http://localhost:8080/DataServletEch.class");
System.out.println("URL="+url);
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:
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;public class DataServletEch 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();
}
}
运行后出现错误:
java.io.EOFException
at java.io.DataInputStream.readFully(DataInputStream.java:178)
at java.io.DataInputStream.readUTF(DataInputStream.java:565)
at java.io.DataInputStream.readUTF(DataInputStream.java:522)
at TestDataStreamApplet.init(TestDataStreamApplet.java:30)
at sun.applet.AppletPanel.run(AppletPanel.java:373)
at java.lang.Thread.run(Thread.java:595)
希望高手指点,万分火急
看看你的错误信息都在里面啊~~
这个应该没问题