过氏分享 http://blog.sciencenet.cn/u/xirongguo

博文

WWJ B/S开发(二)

已有 3133 次阅读 2011-5-18 17:05 |个人分类:系统工程|系统分类:科研笔记| Applet, servlet, worldwind, 对象流

该部分主要涉及Applet和服务器通信的解决方案
基于B/S的Applet与服务器通信,最直接的方法是采用Applet/Servlet方式,该方式可以支持字节流和对象流两种通信方式:
Applet端代码:
  • 字节流方式
  1. 输出流对象:OutputStream out = con.getOutputStream();
  2. 输入流对象:InputStream in = con.getInputStream();
参数上传
java.io.BufferedWriter writerStream = new java.io.BufferedWriter(new java.io.OutputStreamWriter(out));
          try{
              writerStream.write("Nice to meet you!");           
          } finally{
              writerStream.flush();
              writerStream.close();
          }
结果获取
BufferedReader textStream =new BufferedReader(new InputStreamReader(in));        
          String line1 = textStream.readLine();  
          String line2 = textStream.readLine();
          textStream.close();
  • 对象流方式
参数上传
 java.io.ObjectOutputStream ows = new java.io.ObjectOutputStream(out);
          ows.writeObject(wwd.getMousePosition());
          ows.flush();
          ows.close();
结果获取
 java.io.ObjectInputStream ois = new java.io.ObjectInputStream(in);
          Point p = (Point) ois.readObject();
          ois.close();
Servlet端

参数获取
 javax.servlet.ServletInputStream sis = request.getInputStream();
  java.io.BufferedReader br = new java.io.BufferedReader(new java.io.InputStreamReader(sis));
        String varString = br.readLine();
        br.close();
结果发送
  PrintWriter out = response.getWriter();       
        try {
            out.println(varString);
            out.println("you find me!");           
        } finally {           
            out.close();
        }
  • 对象流方式
参数获取
 javax.servlet.ServletInputStream sis = request.getInputStream();
java.io.ObjectInputStream ois = new java.io.ObjectInputStream(sis);
  java.awt.Point p = null;
        try {
            p = (java.awt.Point) ois.readObject();
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(test.class.getName()).log(Level.SEVERE, null, ex);
        }
结果发送
  java.io.ObjectOutputStream oos = new java.io.ObjectOutputStream(response.getOutputStream());
        oos.writeObject(p);
        oos.close();



https://blog.sciencenet.cn/blog-427394-445495.html

上一篇:WWJ B/S开发(一)
下一篇:Java调用动态链接库(.dll)
收藏 IP: 124.16.186.*| 热度|

0

发表评论 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-20 12:03

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部