两个Web服务器交互

[b][color=red]发送web应用服务器:[/color][/b]

[color=red]页面1:[/color]

<%@ page language="java" pageEncoding="GBK"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>

<body >
<FORM action="servlet/SendServlet" method="post">
<input type="submit" value="send"/></TD>
</FORM>
</body>
</html>

[color=red]Servlet:[/color]

package com.order.web;

import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import common.bo.Employee;

public class SendServlet extends HttpServlet {

public SendServlet() {
super();
}

public void destroy() {
super.destroy();
}

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//远程WEB服务器的Servlet
String str_url = "http://127.0.0.1:8089/test/servlet/AcceptServlet";

List<Employee> list = new ArrayList();
try {
System.out.println("进入 Servlet !");

URL url = new URL(str_url);
HttpURLConnection urlConn = (HttpURLConnection) url
.openConnection();
urlConn.setRequestMethod("POST");
urlConn.setUseCaches(false);
urlConn.setDoOutput(true);
urlConn.setDoInput(true);
urlConn.connect();

// 输入结果流
ObjectOutputStream oos = new ObjectOutputStream(urlConn
.getOutputStream());
Employee emp = new Employee();
emp.setName("长江");
list.add(emp);
oos.writeObject(list); // 写入 List
oos.flush();
oos.close();

// 返回结果流
ObjectInputStream ois = new ObjectInputStream(urlConn
.getInputStream());
List returnList = (List) ois.readObject(); // 里面存放的是List
ois.close();

System.out.println(returnList.get(0));

} catch (Exception ex) {
System.out.println(ex);

}

}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

doGet(request, response);
}

public void init() throws ServletException {
// Put your code here
}

}

[color=red]java文件:[/color]

package common.bo;
/**
* 包路径需要和接收端一样
* serialVersionUID需要一样
*/

public class Employee implements java.io.Serializable {
private static final long serialVersionUID = "2008-08-28".hashCode();
private String name;
private int age;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

}
------------------------------------------------------------------

[b][color=red]接收web应用服务器:[/color][/b]

[color=red]Servlet:[/color]

import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import common.bo.Employee;

public class AcceptServlet extends HttpServlet {

public AcceptServlet() {
super();
}

public void destroy() {
super.destroy();
}

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

List retuenList = new ArrayList();// 保存返回给web应用服务器list
ObjectInputStream ois = new ObjectInputStream(request.getInputStream());
ObjectOutputStream oos = new ObjectOutputStream(response
.getOutputStream());
List acceppList = null;
try {
acceppList = (List) ois.readObject();// 接收发送web应用传来的list
System.out.println("接收到的人员姓名="
+ ((Employee) acceppList.get(0)).getName());
} catch (ClassNotFoundException e) {
retuenList.add("fail");
oos.writeObject(retuenList);
e.printStackTrace();
}

retuenList.add("success");
oos.writeObject(retuenList);
}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

doGet(request, response);
}

public void init() throws ServletException {
// Put your code here
}

}


[color=red]java文件:[/color]

package common.bo;
/**
* 包路径需要和发送端一样
* serialVersionUID需要一样
*/

public class Employee implements java.io.Serializable{
//test项目
private static final long serialVersionUID = "2008-08-28".hashCode();
private String name;
private int age;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值