我有一個servlet代碼,它調用一個有狀態的會話bean代碼並增加它的一個int值。但是,當我調用這個servlet並且它下一次是相應的bean時,這個bean就會失去它的狀態,並且從開始遞增開始。任何人都可以幫助我解決這個問題。我的代碼如下:有狀態會話Bean - Stateloss問題
public class CounterServlet extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
Counter counter = new Counter() ;
HttpSession clientSession = request.getSession(true);
clientSession.setAttribute("myStatefulBean", counter);
counter.increment() ;
// go to a jsp page
} catch (Exception e) {
out.close();
}
}
}
你可以顯示Counter的定義嗎?如果它確實是一個EJB,那麼你不能用新的來創建它。否則,提到這個問題的EJB是沒有意義的。 – 2012-01-03 11:40:16