Applet中创建一个到Servlet的URL,例如:
  String u = "http://server/servletname";
  URL url = new URL(u);
  URLConnection conn = url.openConnection();
建立连接自动激活Servlet。
Applet和Servlet的通讯通过conn的getInputStream()、getOutputStream()完成。
另:Han,你好像回答过我的问题,或者我们一起讨论过问题。:)

解决方案 »

  1.   

      java.net.URL url=
    new java.net.URL(getDocumentBase(),"/servlet/DataBaseServlet");
      System.out.println("getDocumentBase(): "+getDocumentBase());
      java.net.URLConnection con = url.openConnection();
      con.setUseCaches(false);
      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/octet-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());
      this.response=in.readUTF();
      //repaint();
      //System.out.println("read from server:"+response);   in.close();
      

  2.   

      java.net.URL url=
    new java.net.URL(getDocumentBase(),"/servlet/DataBaseServlet");
      System.out.println("getDocumentBase(): "+getDocumentBase());
      java.net.URLConnection con = url.openConnection();
      con.setUseCaches(false);
      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/octet-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());
      this.response=in.readUTF();
      //repaint();
      //System.out.println("read from server:"+response);   in.close();
      

  3.   

    如果只是建立连接,applet和servlet没有i/o交换的话,servlet好象是不运行的。是不是我servlet的方法用的不对?我的程序放在doget()中,还有一个问题,一个applet可以同多个servlet建立连接吗?