在使用JSP和Servlets在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>
Run Code Online (Sandbox Code Playgroud)
将此代码复制到jsp页面(testpage.jsp)中,将此文件部署在服务器上的Web应用程序的现有上下文中(我使用Apache Tomcat),然后使用正确的URL(localhost/context1/testpage.jsp)打开浏览器(FF,IE7或Opera ),键入您在输入中的姓名并提交表格.然后在同一浏览器中打开一个新选项卡,然后您可以在新选项卡上看到您的名称(从会话中获取).小心浏览器缓存,有时似乎不会发生,但它在缓存中,刷新第二个选项卡.
谢谢.
此表中的示例数据如下所示:
表中存在多个重复的用户会话记录.
供应商\ laravel \框架的\ src \照亮\会议\ DatabaseSessionHandler.php
在上面的文件路径中,我们有以下方法
public function write($sessionId, $data)
{
$payload = $this->getDefaultPayload($data);
if (! $this->exists) {
$this->read($sessionId);
}
if ($this->exists) {
$this->getQuery()->where('id', $sessionId)->update($payload);
} else {
$payload['id'] = $sessionId;
$this->getQuery()->insert($payload);
}
$this->exists = true;
}
Run Code Online (Sandbox Code Playgroud)
它检查会话ID.
题
我可以避免在会话表中创建重复的用户会话记录吗?在Session Config文件中是否有任何标志?
当我们第一次登录我们的Gmail帐户或删除缓存和cookie后,我们会在窗口中输入发送到我们移动设备的代码.
我试图通过电子邮件而不是短信来实现这一点.以下是我实现此方法的方法.
我关注此链接: https: //laravel.com/docs/5.2/session
并Session table在数据库中创建.我还可以在会话表记录中看到我的浏览器详细信息.我不确定这是否是正确的方法.
Gmail提供了跟踪多个浏览器的功能.这意味着如果我上次从Firefox登录并且这次从Chrome登录,那么我将再次被要求提供代码.展望未来,如果不删除缓存/ Cookie,我将不会要求我填写Chrome和Firefox的代码.
有人可以给我任何链接,解释如何在保存缓存/ cookie时为多个浏览器提供服务吗?这样我就可以发送安全码的电子邮件
laravel ×2
laravel-5 ×2
laravel-5.1 ×2
laravel-5.2 ×2
php ×2
browser ×1
jsp ×1
servlets ×1
sessionid ×1