request.getSession()。setAttribute()& .getAttribute(“reqid”)线程安全

时间:2016-04-06 08:36:34

标签: java http servlets

我有两种形式,a.jsp& b.jsp

提交第一个表单时,将调用Java servlet(例如a_servlet.java),生成requestID并重定向到b.jsp

我需要将requestID生成的a_servlet传递给b_servlet

我目前使用下面的代码,但我觉得它不是线程安全的,我的意思是,如果第二个用户在第一个用户填写a.jsp表单之前填写b.jsp表单,会有requestID混淆。

a_servlet.java

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//....
request.getSession().setAttribute("reqid", reqid);
//.... }

b_servlet.java

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//....
String reqid = (String) request.getSession().getAttribute("reqid");
//.... }

我是否需要做一些固化才能在servlet之间传递数据线程安全?

有更好的方法吗?可能会想到requestID中隐藏的HTML属性中的b.jsp存储在用户一侧,但感觉不对。

0 个答案:

没有答案