在使用JSP和Servlet以Java实现的Web应用程序中;如果我将信息存储在用户会话中,则此信息是从同一浏览器的所有选项卡共享的。如何在浏览器标签中区分会话?在此示例中:
<%@page language="java"%>
<%
String user = request.getParameter("user");
user = (user == null ? (String)session.getAttribute("SESSIONS_USER") : user);
session.setAttribute("SESSIONS_USER",user);
%>
<html><head></head><body>
<%=user %>
<form method="post">
User:<input name="user" value="">
<input type="submit" value="send">
</form>
</body></html>
将此代码复制到jsp页面(testpage.jsp
)中,将此文件部署到服务器上Web应用程序的现有上下文中(我使用Apache Tomcat),然后使用正确的URL(localhost/context1/testpage.jsp
)打开浏览器(FF,IE7或Opera ),键入输入您的姓名并提交表格。然后在同一浏览器中打开一个新选项卡,然后您可以在新选项卡上看到您的名字(从会话中获取)。注意浏览器缓存,有时似乎没有发生,但是它在缓存中,刷新第二个选项卡。
谢谢。