文章目录
javaweb使用了ajax技术依然刷新页面
第一个问题就是因为你需要去将标签换为a标签,之所以这个原因就是因为我在页面中既使用了ajax1去查询后台用户名和号码是否已经被注册,然后才能发送手机注册验证码。
法一
法二
如果点击的是button,指定button的类型type.
法三
将button换位a标签,再加上法一的诀窍应该就可以了。
当然你可以再使用button的时候ajax技术失败更改为a标签执行再指定href就可以了。
javaweb后台servlet不能重定向问题
这个问题就是因为前端一直在发送ajax请求,然后后台貌似就会优先处理ajax请求,所以这里的解决方法就是直接在ajax回调函数中进行页面的跳转,即便会有效率低下的问题。
javaweb失败加载xxx,因为没有框架
这个问题必须感谢这个博主,点击网址。就是因为我们在执行成功之后设置的url并没有设置http://,大概就是如下情况。
当用户一台设备打开多个网页访问我的窗口时验证码错误的实质
首先,我很疑问是否使用Session保存验证码是否能够针对多个页面产生不同的Session,然后Session技术不是本就是基于Cookie技术实现的,刚开始确实我以为每一个tab标签页会产生对应的Session Id,但是好像一台设备就只有一个Session,然后验证码就只会在最新刷新的那个界面有效,其余更老状态的页面不会刷新。
session的实质
浏览器和服务器之间的session关联的技术内幕
实际上根据自己的理解就是,当我们第一个打开浏览器,根本没有任何Cookie信息,当我们向浏览器发送请求,服务器会创建会话对象(必须创建,就算用户不调用这个函数应该也会在某个地方隐含调用)。然后由于Session技术是基于Cookie技术实现的,所以访问某个网站成功之后本地都有一个Cookie值,其实这个值就是Session对象的id值,相当于访问成功之后响应头都会有一个命令Set-Cookie: xxxxxxxx,有了Cookie之后以后得到每一个请求服务器就会根据这个特定的id返回数据,而不是所有的session都会进行更新界面之类的操作,于是不同端口、设备访问我们的服务器就有了一定的辨识。
接下来我们理解一下这个问题,为什么我们设置的session周期明明是30分钟,为什么在我们关闭session之后下次打开该网页新的窗口会是新的SessionId,不是说可以存活30分钟吗?其实原理是这样的,基于Cookie技术之上的Session由于Cookie存活周期默认为-1参数,意味着我们关闭浏览器之后Cookie就消失了,自然服务端就不能通过Cookie找到之前的Session,那么就只能新创建一个Session对象。
实验验证
实际上在浏览器打开之后,不管你开多少个标签就只有一个对应于Session Id的Cookie Id,在你关闭浏览器之后Cookie消失自然就产生了新的Session和对应的新的Cookie.