Java用POST传对象给Servlet

2012-11-12

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

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

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

  Java代码

  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();

  }

  }

  Java代码

  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

  }

分享到:
0
相关阅读
友情链接
© 2018 我考网 http://www.woexam.com 中国互联网举报中心 湘ICP备18023104号 京公网安备 11010802020116号
违法和不良信息举报:9447029@qq.com