`

Java用POST传对象给Servlet

    博客分类:
  • Java
阅读更多

为了实现BlazeDS的实时推送功能,找到了个用Servlet实现的例子。但是例子采用的是线程每秒推送,这样有些浪费资源。

搜了很久,也没找到Java类里调用Servlet的例子,只好用Post方法传对象。

 

发送POST的例子在 : http://lodachi.iteye.com/?show_full=true

 

 

 

package dbConn;
import java.io.InputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import bean.Tick;
import flex.messaging.util.URLEncoder;

public class TestAction {

	public static void main(String[] args) throws Exception{
		TestAction test = new TestAction();
		test.test();
	}
	public void test() throws Exception {
		URL url = new URL("http://localhost:8080/HRC/servlet/DataPushServlet");
		HttpURLConnection urlConn = (HttpURLConnection) url.openConnection();

		urlConn.setDoOutput(true);
		urlConn.setDoInput(true);
		urlConn.setUseCaches(false);
		urlConn.setRequestProperty("Content-type","application/x-java-serialized-object");
		urlConn.setRequestMethod("POST");
		urlConn.connect();

		OutputStream outStrm = urlConn.getOutputStream();
		ObjectOutputStream oos = new ObjectOutputStream(outStrm);

		Tick tick  = new Tick();
		oos.writeObject(tick);

		oos.flush();
		oos.close();

		InputStream inStrm = urlConn.getInputStream();
	}
}

 

 

package servlet;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.math.BigDecimal;
import java.util.Date;

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

import bean.Tick;

import flex.messaging.MessageBroker;
import flex.messaging.messages.AsyncMessage;
import flex.messaging.util.UUIDUtils;

public class DataPushServlet extends HttpServlet {

	public DataPushServlet() {
		super();
	}

	public void destroy() {
		super.destroy(); // Just puts "destroy" string in log
		// Put your code here
	}

	/**
	 * Initialization of the servlet. <br>
	 *
	 * @throws ServletException if an error occurs
	 */
	public void init() throws ServletException {
		// Put your code here
	}

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		//System.out.println("doGet");
		doPost(request,response);		
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		System.out.println("doPost");
		InputStream in = request.getInputStream();
		ObjectInputStream ois = new ObjectInputStream(in);
		
		try{
			Tick tick = (Tick)(ois.readObject());
			System.out.println(tick.getAskPrice());
			System.out.println(tick.getBidPrice());
			System.out.println(tick.getMidPrice());
		}catch(Exception e){}
	}
	public void push(String para){
		MessageBroker msgBroker = MessageBroker.getMessageBroker(null);   
        String clientID = UUIDUtils.createUUID();  
        
//        Tick tick = new Tick();   
//        tick.setAskPrice(new BigDecimal("100"));   
//        tick.setBidPrice(new BigDecimal("100"));   
//        tick.setMidPrice(new BigDecimal("100"));   
//        tick.setTickTime(new Date());   
//
//        tick.setSeqno(name);   

        AsyncMessage msg = new AsyncMessage();   
        msg.setDestination("tick-data-feed");   
        msg.setHeader("DSSubtopic", "tick");   
        msg.setClientId(clientID);   
        msg.setMessageId(UUIDUtils.createUUID());   
        msg.setTimestamp(System.currentTimeMillis());   
        msg.setBody(para);   
        msgBroker.routeMessageToService(msg, null);   
	}
}

 

 

package bean;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

public class Tick implements Serializable {
    private String askPrice = "aaaaaaaa";

    private String bidPrice = "bbbbbbbb";

    private String midPrice = "cccccccc";
..........

}
 
分享到:
评论

相关推荐

    c# post发送到servlet

    在IT行业中,C#是一种广泛使用的编程语言,...以上就是使用C#通过POST方法向Java Servlet发送数据的关键知识点,涵盖了从客户端构建请求到服务器端接收和处理的过程。实际开发中,还需要根据具体需求进行调整和优化。

    java web servlet实例

    Java Web Servlet实例是Java...通过这个简单的Java Web Servlet实例,你可以学习到如何创建、配置和使用Servlet,理解其在Web应用中的作用。实践这个实例可以帮助巩固理论知识,为后续更复杂的Web开发打下坚实基础。

    java网站后台实现--ServLet

    Java Web后端开发是互联网应用开发中的重要环节,Servlet技术是Java EE标准中用于构建动态网站的核心组件之一。本篇文章将深入探讨如何使用Servlet来实现网站后台的功能。 Servlet是Java编程语言中的一个接口,它...

    JAVA servlet 编程指南

    本指南将深入讲解如何使用Java Servlet进行编程,以帮助开发者构建高效、灵活的Web应用。 ### 1. Servlet生命周期 Servlet的生命周期包括三个主要阶段:加载和初始化、处理请求以及销毁。在初始化阶段,Servlet...

    java Servlet学习笔记

    在Servlet中,可以使用HttpServletRequest对象的getParameter()方法读取GET请求的参数,对于POST请求,需要使用getParameterValues()或getInputStream()来获取数据。 总之,Java Servlet技术是Java Web开发的重要...

    java的Servlet测试demo

    总结,这个"java的Servlet测试demo"涵盖了Servlet的基本概念、生命周期、在IDEA中的配置和测试方法,以及GET和POST请求的处理。通过这个示例,你可以进一步学习和实践如何使用Servlet构建动态Web应用。在实际开发中...

    java+servlet源码

    本项目"ProjectManagementSys"是一个基于Java和Servlet的源码实例,展示了如何使用MyEclipse进行Web项目的开发。这个项目可能是用于项目管理或类似的业务流程控制,它为初学者提供了学习和实践的机会。 1. **...

    深入 Java Servlet 网络编程

    4.2 @WebServlet 注解:Java EE 6及以上版本,可以用注解简化Servlet的配置,直接在Servlet类上使用@WebServlet声明。 五、Servlet 进阶 5.1 Filter 过滤器:可以拦截请求,实现预处理和后处理,比如登录验证、字符...

    JavaServlet示例代码

    JavaServlet是一种用于构建动态Web应用...以上就是关于"JavaServlet示例代码"的关键知识点,涵盖了Servlet的基本用法、用户注册登录流程以及常见的安全性考虑。理解和掌握这些内容对于深入学习Java Web开发至关重要。

    JAVA电子教案,JSP,Servlet

    你还将学习如何编写Servlet,处理GET和POST请求,以及使用Servlet API来设置响应头和输出数据。Servlet与JSP常常结合使用,为Web应用提供动态内容生成。 JSP(JavaServer Pages)是一种基于JAVA的动态网页技术,它...

    Java Servlet开发与实例

    总结,Java Servlet是构建web应用程序的强大工具,与JSP结合使用可以实现灵活且高效的后端逻辑。学习和熟练掌握Servlet,是成为Java EE开发者的关键步骤。通过不断的实践和项目经验积累,你将在web开发领域更加...

    jsp网页产生json传值到java的servlet,再回传到jsp页面

    在本场景中,我们探讨的是如何使用JSP通过Ajax(Asynchronous JavaScript and XML)发送JSON(JavaScript Object Notation)数据到Java的Servlet,然后Servlet处理这些数据并返回JSON响应给JSP页面。这是一个典型的...

    Java Servlet Api文档

    这个API文档是开发者理解和使用Servlet技术的重要参考资料。在Java Servlet API 2.5版本中,包含了对Servlet、Filter、Listener等关键概念的详细描述,以及它们在Web应用程序中的应用方式。 1. **Servlet接口**:...

    JAVA SERVLET帮助文档(API)

    Servlet API是Java Servlet的核心部分,提供了一系列的接口和类,供开发者用来构建可部署在Web服务器上的Java应用程序。这篇帮助文档详细阐述了这些接口和类的使用方法、功能以及它们之间的关系。 在Servlet API中...

    深入Java Servlet 网络编程

    Java Servlet是Java平台上的一个核心技术,主要用于构建动态web应用程序。Servlet是服务器端的Java小程序,它接收并响应来自客户端(通常是web浏览器)的请求,处理数据,然后返回响应。在深入理解Java Servlet网络...

    Java Servlet Programming

    ### Java Servlet编程知识点详解 #### 一、Java Servlet编程概览 **标题:“Java Servlet Programming”** **描述:“Java Servlet Programming.pdf”** **标签:“java servlet”** Java Servlet编程是Java平台...

    Java Servlet API说明文档

    Java Servlet API是Java ...综上所述,Java Servlet API说明文档涵盖了Servlet技术的各个方面,对于理解和使用Servlet进行Web开发至关重要。通过深入学习这些内容,开发者可以有效地构建出高效、可扩展的Web应用程序。

    java+servlet+ajax程序

    Java 是一种广泛使用的面向对象的编程语言,具有跨平台性、安全性以及性能优越的特点。在Web开发中,Java主要用于服务器端逻辑的编写,通过Java的类库和框架(如Spring、Struts等)可以构建复杂的应用系统。 1. 类...

    java servlet 博客源码

    【Java Servlet 博客源码】是一个基于Java编程语言,利用Servlet技术开发的博客系统源代码。Servlet是Java EE(企业版)中的一个重要组成部分,它主要用于扩展服务器的功能,处理来自客户端(如浏览器)的请求,并...

Global site tag (gtag.js) - Google Analytics