该部分主要涉及Applet和服务器通信的解决方案
基于B/S的Applet与服务器通信,最直接的方法是采用Applet/Servlet方式,该方式可以支持字节流和对象流两种通信方式:
Applet端代码:- 输出流对象:OutputStream out = con.getOutputStream();
- 输入流对象: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)