from_0 2009-11-18 10:52
浏览 326
已采纳

网站ip改为域名后访问jsp和Action会产生两个Session

我现在这里有一个网站,通过jsp和Action访问却有两个Session
具体情况就是在注册页面有一个验证码
验证码是通过jsp生成的,在jsp里使用session.setAttribute()保存验证码
然后去后台Action中取出Session里的和用户输入的验证码进行对比
我同时访问保存验证码的jsp和取出验证码的Action,分别打印两个session,就像我在一楼说的那样,如果是在“http://ip:端口/项目名”形式访问就会是同一个session,但是如果是“http://域名:端口”访问就会是两个session,我就不明白了...

是不是这种存取验证码的方式有问题呢?那为什么ip下访问正常,域名下就有问题呢?

如果我没说明白,我看到csdn上这个问题和我的很相似,可以参考下:
http://topic.csdn.net/u/20080402/00/cc7bf21e-97be-4fb4-9fcb-d9b6cae0a253.html
[b]问题补充:[/b]
to:liuyu220
谢谢你。
我认为不是缓存的问题,jsp页面已加入清缓存的代码,我在后台也看了jsp打印的验证码和session对象,以及Action中的Session对象。我发现在“http://域名:端口号”访问的情况下jsp和Action打印的Session不是同一个对象!而在“http://ip:端口号”形式访问就是同一个对象。

嗯,我在je又找到一个跟我更类似的问题,你可以看一下:
http://www.iteye.com/problems/15323

那位朋友后来说是jsessionid的问题,我也认为是不知什么原因产生了2个session的问题。如果解决的话我觉得就是如何保证访问同一个网站不管是jsp还是Action只生成一个session的问题
[b]问题补充:[/b]
to:liuyu220
再次感谢!
我执行了ping+域名
ip是服务器的ip
但是我现在服务器的Tomcat有2个项目,一个在ROOT根下,一个是别的项目
比如webapps/abc项目绑定了www.abc.com的域名,那么ping这个域名出来只有ip地址没有abc这个项目名,这样会造成问题吗?
[b]问题补充:[/b]
to:liuyu220
谢谢啦
这个问题不重要
反正ping这个域名会出现服务器ip
那你看我的host配置虚拟主机有问题吗,代码如下:
[code="java"]
xmlValidation="false" xmlNamespaceAware="false">

xmlValidation="false" xmlNamespaceAware="false">



[/code]

是否因为配置的问题导致jsessionid不一致呢?
因为我看到这个帖子说到这个问题:http://www.iteye.com/problems/1910
如果您有时间看一下

实在感谢,我没分了,要不都给你了,哎...

  • 写回答

4条回答 默认 最新

  • liuiyu220 2009-11-18 11:12
    关注

    请问楼主你的验证码与http://topic.csdn.net/u/20080402/00/cc7bf21e-97be-4fb4-9fcb-d9b6cae0a253.html中写法类似么:function refImage(){
    document.all.image1.src="/warehouse/image.jsp";
    }
    如果是的话,jsp是有缓存的,相同url不是每次都会刷新,所以你在第二次以后其实取的已生成的验证码图像。修改代码,每次产生新url。document.all.image1.src="/warehouse/image.jsp" + new Date();

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试,帮帮忙吧
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建