Java用POST传对象给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   } /**   * 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);   }   }

 

Java代码

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

你可能感兴趣的:(java,exception,servlet,String,import,initialization)