我有两种形式,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
存储在用户一侧,但感觉不对。