`
klxwcx
  • 浏览: 31626 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

两个Web服务器交互

阅读更多
发送web应用服务器:

页面1:

<%@ 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>

Servlet:

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
}

}

java文件:

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;
}

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

接收web应用服务器:

Servlet:

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
}

}


java文件:

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;
}
}

分享到:
评论

相关推荐

    详解Android客户端与服务器交互方式

    最近的Android项目开发过程中一个问题困扰自己很长时间,Android客户端与服务器交互有几种方式,最常见的就是webservices和json。要在Android手机客户端与pc服务器交互,需要满足下面几种条件:跨平台、传输数据格式...

    Android平台手机访问Web服务器的有效数据交互方法

    然而,如何在Android平台上有效地与Web服务器进行数据交互,特别是在提取和解析不同类型数据的过程中,仍是一个值得深入探讨的问题。 #### Android与Web服务器的数据交互基础 在Android平台上,与Web服务器进行...

    基于单片机的嵌入式Web服务器设计与实现.pdf

    * 嵌入式系统需要一个基于单片机的嵌入式Web服务器,能够提供一个灵活的解决方案。 知识点7:配置参数的方法 * 有多种配置参数的方法,例如修改源代码,然后下载、通过串口烧写、发送UDP数据包由网口改写、嵌入式...

    Python Tornado实现WEB服务器Socket服务器共存并实现交互的方法

    确保两个服务器都能正常工作,并且能通过共享数据结构正确地传递信息。 总之,Tornado的异步特性和对Web和Socket服务器的全面支持,使得在同一个程序中实现它们的共存和交互变得简单。通过以上步骤,你可以构建一个...

    【ASP.NET编程知识】HTML服务器控件和WEB服务器控件的区别和联系介绍.docx

    HTML 服务器控件和 WEB 服务器控件是 ASP.NET 编程中两个重要的概念,它们之间存在着一定的联系和区别,本文将对这两个概念进行详细的介绍和比较。 一、HTML 服务器控件 HTML 服务器控件是 ASP.NET 中的一种控件,...

    Web服务器和应用程序服务器区别详解

    Web服务器和应用程序服务器是两种不同的服务类型,它们在互联网应用中扮演着各自的关键角色。本文将详细解释这两者的概念、功能以及它们之间的差异。 首先,Web服务器主要负责处理HTTP协议,它的核心任务是接收来自...

    HTML服务器控件与Web服务器控件的区别

    如果需要复杂的业务逻辑和数据交互操作,Web 服务器控件是一个不错的选择。如果需要简单的交互操作和静态页面,HTML 服务器控件是一个不错的选择。 六、结论 HTML 服务器控件和 Web 服务器控件都是 ASP.NET 框架下...

    计算机网络实验一 Windows环境下用java实现web服务器

    在"实验1_web"这个压缩包中,可能包含了实现这个Web服务器的源代码、实验指导文档和相关的测试页面。通过分析和运行这些代码,学生可以亲手实践上述理论知识,观察请求和响应的交互过程,调试可能出现的问题,从而更...

    Android与servlet服务器交互

    为了使Android客户端能够访问Servlet,我们需要在服务器端配置Web服务器(如Apache Tomcat)和Servlet容器。例如,将Servlet部署在名为"webss"的Web应用下,你需要在`WEB-INF/web.xml`文件中注册Servlet: ```xml ...

    一个小巧的Web服务器,支持ASP和HTML

    这个Web服务器的亮点在于它同时支持这两种技术,这意味着用户可以在本地环境中快速搭建一个测试平台,无需部署到复杂的IIS(Internet Information Services)或其他大型Web服务器上。开发者可以在这个小巧的Web...

    Android与Web端交互源码

    总之,"Android与Web端交互源码"是一个很好的学习资料,它涵盖了Android应用中与服务器进行数据交换的核心技术。无论是GET还是POST请求,了解其原理和实践方法对提升Android开发技能大有裨益。同时,注意在实际项目...

    浅析Java_web程序之客户端和服务器端交互原理.doc

    在本文中,我们将深入探讨这两个主要方面:协议和HTTP报文接口,以及它们如何在Java Web应用程序中实现。 首先,我们要了解的是协议。TCP/IP协议栈是互联网通信的核心,它不完全符合OSI的七层模型,而是采用四层...

    安卓版本web服务器 almp_v7.0ALMP

    【安卓版本Web服务器 almp_v7.0ALMP】是一个专为Android平台设计的轻量级Web服务器,它允许用户在安卓设备上搭建并运行一个小型的Web服务环境。这款服务器软件具有一定的灵活性和实用性,尤其对于开发者进行移动测试...

    android移动端和服务器交互

    ### Android移动终端与服务器交互详解 #### 一、引言 随着移动互联网的快速发展,智能手机已成为人们生活中不可或缺的一部分。为了更好地满足用户需求,移动应用程序必须能够高效地与服务器进行交互,以便提供最新...

    WEB数据交互的艺术

    在当今互联网世界,数据已经成为驱动业务发展的重要力量,而如何有效地进行Web数据交互,是每一个开发者和相关从业者都需要掌握的关键技能。 首先,我们要理解什么是Web数据交互。在Web应用中,数据交互是指客户端...

    Nodejs创建web服务器.zip

    描述中提到,这是一个仅供个人方便下载的资源,其内容包括了两个文件,一个名为`index.html`,另一个是`server.js`。在Web开发中,`index.html`通常作为网站的默认首页,而`server.js`则可能是用JavaScript编写的...

    Java-web客户端和服务器端交互的原理.doc

    套接字是一种网络编程的基本概念,它是指两个设备之间的连接。Java通过套接字来实现客户端和服务器端之间的交互,包括建立连接、客户端发送请求报文、服务器端处理请求和返回响应、关闭连接等过程。 在Java中,定义...

    使用S7-1500的Web服务器通过本地的HTML读写PLC中的数据_示例.docx

    首先,启用S7-1500的Web服务器功能至关重要。在博途(TIA Portal)软件中,你需要确保PLC项目配置中Web服务器选项已开启,并且勾选“通过HTTPS访问”。HTTPS协议提供了一层加密,保障了数据传输的安全性,这对于涉及...

    基于嵌入式Linux和Ajax技术的Web异步交互设计.pdf

    【基于嵌入式Linux和Ajax技术的Web异步交互设计】是针对嵌入式设备上的Web应用程序优化的一个重要研究方向。在嵌入式Linux智能终端设备中,传统的Web交互方式通常存在数据交互量大、页面刷新频繁的问题,这不仅消耗...

    web服务器文件上传下载工具

    "web服务器文件上传下载工具"就是针对这一需求设计的软件,特别适合初学者使用。这个工具可能包含了一种或多种技术,如HTML、FTP等,这些都是Web开发的基础部分。下面将详细阐述这些知识点。 1. HTML(HyperText ...

Global site tag (gtag.js) - Google Analytics