對不起,用這個破了你的一天,但我已經花了很多年在網上尋找答案,我完全被卡住了!如何將servlet的響應轉換爲字符串?
在一個web應用程序中,我使用RequestDispatcher從servlet_A向servlet_B發送請求。 在servlet_B中,我運行了一些代碼,它生成一個簡單的String值,該值作爲對servlet_A的響應返回。
代碼中的servlet答:
ServletContext context = getServletContext();
RequestDispatcher dispatcher = context.getRequestDispatcher("/servlet_B");
dispatcher.forward(request, response);
/*
How do I catch the response from servlet_B and convert it to a String?
*/
代碼中的servlet B:
/*
Some other code which creates a String
*/
String result = "someValue";
// Send the response to servlet_A.
response.setContentType("text/plain");
response.setContentLength(result.length());
PrintWriter out = response.getWriter();
out.println(result);
在servlet_A,我需要從servlet_B的響應轉換成一個簡單字符串值,並且這是位我被困住了。如何將servlet_B的響應作爲servlet_A中的簡單字符串進行處理?
我想我需要使用PrintWriter來解析響應,並且我已經在Web上搜索了一個這樣的例子,但是我可以找到的所有例子都顯示瞭如何使用PrintWriter發送響應或輸出數據到屏幕上。
如果有人能幫助我,我將非常感激。
在servlet的BI
真的有必要有一個Servlet B?難道你不能使用一個簡單的類來接收HttpServletRequest和HttpServletRequest作爲參數,做這個工作然後返回Servlet A嗎? –
嗨Diogo,並感謝您的貢獻。恐怕是這樣。當servlet_B收到來自servlet_A的請求時,請求被重定向到用於用戶輸入的jsp,所以我堅持使用servlet。 –
我的意思是:根據我的理解,你的servlet B存在只是因爲你必須對請求和響應對象做一些處理然後返回到servlet A,對吧?如果是這樣,您可以將servlet B更改爲可以爲您完成這項工作的類,並且只在您需要時纔會實例化它。 –