2014-09-23 64 views
2

我有列表assetList中的字符串列表。 如何在java servlet的http響應中發送列表? 我對java很新。如何在http響應中發送字符串列表?

+0

爲什麼使用HTTP Servlet響應? – 2014-09-23 13:41:31

+0

我正在做一個GET請求,我需要發送回覆。 – prashanta 2014-09-23 13:45:19

+1

您不提供任何信息。你的代碼做了什麼以及作爲對客戶端的響應的預期?你想要什麼格式的響應「出現」到客戶端?所有的技術信息,以更好地幫助你的問題表示讚賞。 – 2014-09-23 13:47:17

回答

0

呼叫列表轉換爲字符串後,這個方法:

private void writeResponse(HttpServletResponse response, String responseString) { 
    try { 
     PrintWriter out = response.getWriter(); 
     out.println(responseString); 
     out.flush(); 
     response.flushBuffer(); 
     out.close(); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

爲字符串列表轉換爲字符串,請參閱: Best way to convert an ArrayList to a string

+0

它不是一個字符串。它是一個字符串列表。 – prashanta 2014-09-23 13:52:21

0

對象的名單是一個對象。所以就像在響應(序列化)中添加一個對象並在另一端進行反序列化一樣。

OutputStream out = response.getOutputStream(); 
oos = new ObjectOutputStream(out); 
oos.writeObject(yourSerializableObject); 

更多信息:

How to get Object from HttpResponse?

0

如果你可以自由選擇響應的格式,響應的主要目的是通過客戶端應用程序進行處理,然後使用JSON。將字符串列表轉換爲JSON數組(字符串)併發送。

  • 你是最好關閉比非標準(即定製)一個標準的格式/ serializatio方案:

    ,因爲我會推薦JSON。

  • JSON很容易用各種編程語言生成和解析。
  • JSON是基於文本和(相對)人類可讀的。

當然有很多選擇,包括語言特定的選擇(Java對象序列化),更緊湊的選擇,更快的編碼,解碼等等。

但對於典型的基於Web的應用程序協議,JSON是一個很好的事實選擇。

0

我建議你閱讀關於servlets,JSP和ManagedBeans的更多信息。

爲了使它能夠很好地運行到現在這些工作是如何工作的,但是稍後您可以升級並使用適用於Java Web應用程序的JSF。

回到你的問題:

通常的方法是使用Java的「託管」 豆爲!

可以說你發送到servlet的請求,響應應該是人的名單:你創建一個名爲豆與Person.java ID ,姓名,電話,...等等有getter和setter

方法。

那麼你會做一個控制器類像PersonManager.java

這個對象可以有一個方法獲取的人員名單或emprty列表

在servlet你初始化這些數據單項和請求puting它適用範圍適用於你的迴應

這裏有一個例子如何做到這一點在Servlet:在你的JS

public class YourServlet extends HttpServlet { 
     protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException 
    { 
     Person p = new Person(); 
     p.setName("Mohamad ..."); 
     p.set....  
     ArrayList phones = new ArrayList(); 
     PhoneNumber ph = new PhoneNumber(); 
     ph.set...; 
     ph.set...; 
     al.add(ph); 
     ph = new PhoneNumber(); 
     ph.set...; 
     ph.set...; 
     al.add(ph); 
     a.setPhoneNumbers(al); 

     req.setAttribute("person", p); 
     RequestDispatcher rd = req.getRequestDispatcher("yourResult.jsp"); 
     rd.forward(req, res); 
     } 
} 

然後您可以檢索結果並在列表中循環,或者您想要用它做什麼!

相關問題