微信小程序开发
后台采用的是SSM框架,里面用到了短信验证,由于没有其他的需求所以为此专门搭建一个Redis服务有点浪费,所以决定发送短信时将生成的验证码与手机号以key-value的形式放入session,第二次验证时再取出进行验证,于是用到了获取session的方法.
首先 在公共Controller类里添加获取request的方法:
public HttpServletRequest getRequest() {
HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest();
return request;
}
第一次获取短信验证码时将手机号与生成的二维码存入session,并设置时间
第二次验证时再取出进行验证
但我发现无论如何在getRequest()时会报错,查过资料之后发现需要在web.xml中配置一项过滤器
<listener>
<listener-class>
org.springframework.web.context.request.RequestContextListener
</listener-class>
</listener>
其作用是监听HTTP请求事件,Web服务器接收的每次请求都会通知该监听器,并对容器进行初始化,配置完成之后一切正常.