2011-03-18 128 views
0

我試圖從Java servlet向客戶端發送.xml文件形式的響應。爲此,我編寫了以下代碼:如何從servlet向客戶端發送響應?

if (result) { 
    response.setContentType("text/xml"); 

    PrintWriter out = response.getWriter(); 

    out.println("<Login>"); 
    out.println("<status>"+successStatus+"</status>"); 
    out.println("<username>"+userDTO.getFirstname()+"</username>"); 
    out.println("<sessionId>"+hSession.getId()+"</sessionId>"); 
    out.println("<timestamp>"+hSession.getLastAccessedTime()+"</timestamp>"); 
    out.println("<timeout>"+hSession.getLastAccessedTime()+"</timeout>"); 
    out.println("</Login>"); 
} 

我該如何檢查客戶端是否收到此響應? 我是否需要顯式發送響應,或者上述代碼是否足以將響應發送給客戶端?

在此先感謝

+2

如果你想知道以上代碼「足夠」,然後測試它。 – chiccodoro 2011-03-18 06:53:53

+0

爲什麼你會發布這樣的問題,甚至沒有測試你的粘貼代碼?如果測試過,發佈你得到的錯誤(如果有的話),並解釋我們如何測試它,結果如何,等等。 – asgs 2011-03-18 06:58:58

+0

@chiccodoro sir im新的Java和我不知道多少關於servlets.im調試但調試時在此之後,它不會去客戶端代碼。所以我不知道如何檢查客戶端是否得到迴應,所以請幫助我先生。 – pritsag 2011-03-18 07:06:50

回答

4

只需調用servlet的URL將讓你的客戶端(瀏覽器)。你不需要做任何具體的事情。

所以,如果你的servlet映射這樣的,

<servlet> 
    <servlet-name>MyServlet</servlet-name> 
    <servlet-class>com.test.MyServlet</servlet-class> 
</servlet> 
<servlet-mapping> 
    <servlet-name>MyServlet</servlet-name> 
    <url-pattern>/MyServlet</url-pattern> 
</servlet-mapping> 

只需調用URL http://www.example.com/context/MyServlet將讓你在瀏覽器的XML!

0

公共類的HelloWorld延伸的HttpServlet {

公共無效的doGet(HttpServletRequest的REQ,HttpServletResponse的水庫) 拋出了ServletException,IOException異常{

res.setContentType("text/html"); 
PrintWriter out = res.getWriter(); 

out.println("<HTML>"); 
out.println("<HEAD><TITLE>Hello World</TITLE></HEAD>"); 
out.println("<BODY>"); 
out.println("<BIG>Hello World</BIG>"); 
out.println("</BODY></HTML>"); 

} }

相關問題