想问下各位大咖们,关于Servlet之间访问静态变量的问题

Qys_CZ 发布于 2017/07/01 12:53
阅读 135
收藏 1

前阵子在做一个简单的验证码注册服务,流程是这样的:

在服务器启动时,就初始化好ProxyServlet,它里面有个静态变量Map用于存储手机号码和验证码的键值对。

然后jsp页面上点击发送验证码按钮,以AJAX请求的方式访问SjServlet,向指定手机发送验证码,并将验证码存储在ProxyServlet.Map中,当然添加时简单的加了个对象锁。

最后收到手机验证码,输入到页面上,点击提交按钮核对.再次AJAX请求访问RegServlet核对验证码,在该Servlet中向ProxyServlet.Map中取出验证码核对.业务完成。

然而在本地进行测试时,一切正常,显示正确,部署到服务器上之后,外网访问业务时,在提交注册按钮事件中发生500错误,空指针,对了下日志,发现是第二次AJAX请求时,从ProxyServlet.Map中取值后判断发生错误,仔细一看,这个Map竟然是空的。后来在服务器本地上在试了一次,业务能走通,显示验证码正确.偏偏用外网访问时,总在验证码核对时报500错误,显示空指针。折腾了我一晚上还是想不出原因来,想问下,各位大佬有碰到类似的问题吗?后面我又用了SET、LIST等一些静态变量,依旧到那步显示空指针。

加载中
返回顶部
顶部