【发布时间】:2012-02-01 07:38:19
【问题描述】:
我有一个 servlet 代码,它调用有状态会话 bean 代码并增加它的 int 值。但是,当我下一次调用 servlet 和它对应的 bean 时,bean 失去了它的状态,并再次从递增的开始开始。谁能帮我解决这个问题。我的代码如下:
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,你就不能用 new 来创建它。否则,在这个问题上提到 EJB 是没有意义的。
标签: jakarta-ee servlets ejb ejb-3.0 stateful-session-bean