使用以下代码,尝试处理会话。当尝试使用多个选项卡进行事务时,此代码工作正常,这意味着它只允许一个选项卡进行转换。如果打开了同一浏览器中的其他选项卡,则会显示Error.jsp。但是,当打开其他浏览器实例时,此代码无法允许执行事务。 Brower维护缓存,因此提供了相同的sessionId。
if(session!=null && url.equalsIgnoreCase("/abc/doMEPayRequest")){
//check if session is not new and entry request then throw error
System.out.println("Session id: "+httpReq.getSession().getId());
((HttpServletResponse) response).sendRedirect("errDuplicateSession.jsp");
}
if(session == null){
//if session is new & check if entry request
if(url.contains("abc")){
//create new session
session=httpReq.getSession(false);
}else{
//else throw some session related error
System.out.println("session expired error");
}
}
如果打开新的浏览器实例,可以做什么以便完成交易。
任何建议都将受到赞赏