0

我正在使用 Spring MVC、MySql 和 Tomcat 7。目前我正在开发的应用程序可以通过 2 个 URL 访问,即 IP:PORT/APP 和 www.app.com。

通过 www.app.com 访问时,我看到为我打开的每个页面/链接创建了一个会话,但是当我通过 IP:PORT/APP 访问时它不会发生。

我在每个页面中都检查了登录用户,并且由于会话过多,检查失败,即使在登录后我也被重定向到我的登录页面。

此外,当打开 www.app.com 索引页面时,我在地址栏上看到 jsessionid,而不是当我通过 IP 打开它时。

任何帮助/指导表示赞赏。

4

1 回答 1

0

似乎当您通过域名 (www.app.com) 访问页面时,找不到cookie 支持,因此正在完成url 重写(即在 url 末尾附加 jsessionid)。但是在通过 IP 地址 (IP:PORT/APP) 访问同一页面时没有观察到这种情况,这意味着此时启用了 cookie 支持。

您可以检查是否启用了一些不允许 cookie 的安全设置。

除此之外,似乎即使是 url 重写也无济于事,因为正在为每个请求创建会话。

您可以使用一些 HTTP 拦截器来分析每种情况下发送的请求和接收的响应。您可以使用Chrome 中的开发者工具来检查它。在谷歌浏览器中加载您的页面,右键单击页面并单击“检查元素”。打开“网络”选项卡。重新加载页面。您现在可以检查每个请求发送的HTTP 请求标头和接收的响应标头。分析使用IP地址的请求和使用域名的请求之间的区别。

此外,共享应用程序的体系结构和测试应用程序的环境

于 2013-09-07T20:01:01.610 回答