通过Http协议传递对象
来源:互联网 发布:专业注册会员软件 编辑:程序博客网 时间:2024/04/29 22:51
1.client
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.net.URL;
import java.net.URLConnection;
public class ClientDemo implements Serializable{
private static final long serialVersionUID = 6923605292331605950L;
/**
* @param args
*/
public static void main(String[] args) {
try{
// 1.通过在 URL 上调用
// 2.操作设置参数和一般请求属性。
// 3.使用
// 4.远程对象变为可用。远程对象的头字段和内容变为可访问。
URL u = new URL("http://localhost:8080/ExamCenter/SynchronizeManager");
URLConnection con = u.openConnection();
con.setDoOutput(true);
con.setDoInput(true);
con.connect();
// Send Data
ObjectOutputStream objectOutputStream = new ObjectOutputStream(new BufferedOutputStream(con.getOutputStream()));
objectOutputStream.writeObject(new ClientDemo());
objectOutputStream.flush();
objectOutputStream.close();
// Recieve Data
ObjectInputStream objectInputStream = new ObjectInputStream( new BufferedInputStream(con.getInputStream()));
Object obj = objectInputStream.readObject();
System.out.println(obj);
objectInputStream.close();
}catch(Exception exp){
exp.printStackTrace();
}
}
public void printDemo() {
System.out.println("对象 ClientDemo 传输成功!");
}
}
2、server
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class SynchronizeManager extends HttpServlet {
private static final long serialVersionUID = -7477965020946583132L;
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
boolean isIE = false;
try {
// 输入
try {
InputStream inputStream = request.getInputStream();
ObjectInputStream objectInputStream = new ObjectInputStream(new BufferedInputStream(inputStream));
Object obj = objectInputStream.readObject();
objectInputStream.close();
System.out.println("接收到对象:"+obj + "");
((ClientDemo)obj).printDemo();
} catch (Exception e) {
System.out.println("不要使用IE访问该服务!");
isIE = true;
}
if (!isIE) {
// 输出
ServletOutputStream outputStream = response.getOutputStream();
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(outputStream);
ObjectOutputStream objectOutputStream = new ObjectOutputStream(bufferedOutputStream);
objectOutputStream.writeObject("我是返回对象B");
objectOutputStream.close();
}else {
response.setContentType("text/html;charset=gbk");
PrintWriter out=response.getWriter();
out.print("<p align=center><font size=3 color=red>不要使用IE访问该服务!:(</font></p>");
out.flush();
out.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
doPost(request, response);
}
}
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.net.URL;
import java.net.URLConnection;
public class ClientDemo implements Serializable{
private static final long serialVersionUID = 6923605292331605950L;
/**
* @param args
*/
public static void main(String[] args) {
try{
// 1.通过在 URL 上调用
openConnection
方法创建连接对象。// 2.操作设置参数和一般请求属性。
// 3.使用
connect
方法建立到远程对象的实际连接。// 4.远程对象变为可用。远程对象的头字段和内容变为可访问。
URL u = new URL("http://localhost:8080/ExamCenter/SynchronizeManager");
URLConnection con = u.openConnection();
con.setDoOutput(true);
con.setDoInput(true);
con.connect();
// Send Data
ObjectOutputStream objectOutputStream = new ObjectOutputStream(new BufferedOutputStream(con.getOutputStream()));
objectOutputStream.writeObject(new ClientDemo());
objectOutputStream.flush();
objectOutputStream.close();
// Recieve Data
ObjectInputStream objectInputStream = new ObjectInputStream( new BufferedInputStream(con.getInputStream()));
Object obj = objectInputStream.readObject();
System.out.println(obj);
objectInputStream.close();
}catch(Exception exp){
exp.printStackTrace();
}
}
public void printDemo() {
System.out.println("对象 ClientDemo 传输成功!");
}
}
2、server
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class SynchronizeManager extends HttpServlet {
private static final long serialVersionUID = -7477965020946583132L;
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
boolean isIE = false;
try {
// 输入
try {
InputStream inputStream = request.getInputStream();
ObjectInputStream objectInputStream = new ObjectInputStream(new BufferedInputStream(inputStream));
Object obj = objectInputStream.readObject();
objectInputStream.close();
System.out.println("接收到对象:"+obj + "");
((ClientDemo)obj).printDemo();
} catch (Exception e) {
System.out.println("不要使用IE访问该服务!");
isIE = true;
}
if (!isIE) {
// 输出
ServletOutputStream outputStream = response.getOutputStream();
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(outputStream);
ObjectOutputStream objectOutputStream = new ObjectOutputStream(bufferedOutputStream);
objectOutputStream.writeObject("我是返回对象B");
objectOutputStream.close();
}else {
response.setContentType("text/html;charset=gbk");
PrintWriter out=response.getWriter();
out.print("<p align=center><font size=3 color=red>不要使用IE访问该服务!:(</font></p>");
out.flush();
out.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
doPost(request, response);
}
}
- 通过Http协议传递对象
- 通过intent传递对象
- 通过inten传递对象
- Http servlet传递对象
- Struts2 HTTP对象传递
- 通过 http 协议上传文件
- 通过 http 协议上传文件
- 通过HTTP协议上传文件
- 通过Http协议获取文本
- 通过Http协议获取XML
- 通过Http协议获取JSON
- 通过 http 协议上传文件
- 通过HTTP协议上传文件
- 通过HTTP协议上传文件
- 通过HTTP协议上传文件
- 通过 http 协议上传文件
- 通过 http 协议上传文件
- 通过 http 协议上传文件
- 系统架构师的修炼
- 相关文章:
- 一个程序员的思索
- Basic Windbg - 2 CLR基础
- 嵌入式qt的安装和应用 (2)
- 通过Http协议传递对象
- 利用Rational Rose进行C++代码和数据库结构分析
- System.Data.SQLClient.SqlConnection在Open之后为什么需要及时Close?
- 网站High CPU分析
- XmlSerializer带来的性能问题及解决办法
- 智力游戏界的三大不可思议
- 关于oracle中job的应用
- 等待函数(wait function)的一点释疑
- java串口编程