我写了一个servlet,用于实现向applet传送读取所在服务器端文件后形成的字符或者二进制流,我具体的代码是这样的:
  package com;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class servlet1 extends HttpServlet{
protected void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
this.doPost(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException,IOException{
String path = getServletContext().getRealPath("/models/");
Reader reader = null;
ObjectInputStream in = new ObjectInputStream(request.getInputStream());
try{
                String filename = (String)in.readObject();
                in.close();
File file = new File(path,filename);
reader =  new InputStreamReader(new FileInputStream(file));
ObjectOutputStream out = new ObjectOutputStream(response.getOutputStream());
out.writeObject(reader);
out.flush();
out.close();
}catch(Exception e){}
}
}
请问我这样传送Reader对象有没有问题?

解决方案 »

  1.   

    恩,不行,我在applet端不能load()这个送servlet穿过来的对象
      

  2.   

    我是用applet实现load(java.io.Reader reader),加载一个Reader类型的对象。在applet中,用try{File file = new File "E:\\java\\cup.obj"); Reader reader = new InputStreamReader(new FileInputStream(file));s=f.load(reader);}在本机上是这样可以加载成功的。但是通过servlet从服务器端加载这个reader,好像不行,不知道哪里错了