如何在客户端通过Dwr实现无刷新验证‘验证码’是否正确?

qunhao 2010-03-21 07:36:10
做注册的时候,可以通过Dwr框架的无刷新验证用户名是否存在,但在做验证‘验证码’是否正确的时候遇到一个难题,在普通类里面不知道怎么获取HttpSession对象,自然就没办法把存放在HttpSession对象中的验证码拿出来比较了。
问下大家是怎么做到在客户端那边通过无刷新来验证‘验证码’是否正确的。
...全文
222 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
BearKin 2010-03-25
  • 打赏
  • 举报
回复
[Quote=引用楼主 qunhao 的回复:]
做注册的时候,可以通过Dwr框架的无刷新验证用户名是否存在,但在做验证‘验证码’是否正确的时候遇到一个难题,在普通类里面不知道怎么获取HttpSession对象,自然就没办法把存放在HttpSession对象中的验证码拿出来比较了。
问下大家是怎么做到在客户端那边通过无刷新来验证‘验证码’是否正确的。
[/Quote]

http://cuixiaodong214.blog.163.com/blog/static/95163982009112811449439/
貌似有专门的方法 LZ看看吧
japt88_115656292 2010-03-25
  • 打赏
  • 举报
回复
我觉得你思路有问题。 当你点击图片的时候 你url之后加一个new Date()
然后就可以得到一个新的图片。 这个地方为什么要ajax?
ajax一般要用来从数据库查询或者存入数据库。
最终告诉客户是否成功。
而你的图片其实是一张完整的页面,所以只要刷新就可以。
其实你那个图片可以相当一个浏览器而已。

如果你不能理解,你看看别人是怎么写的。
dwr调用action类(struts1中)我原来用的时候老是报错,struts2是没有问题的。
struts1耦合性比较高的。
自己多试试吧。记得分给我
echoiori 2010-03-25
  • 打赏
  • 举报
回复
DWR 有现成的工厂类可以获取到一个HttpSession:
import org.directwebremoting.WebContext;
import org.directwebremoting.WebContextFactory;

WebContext wctx = WebContextFactory.get();
ap.setContextRoot(wctx.getHttpServletRequest().getSession());
看看吧,这是我们项目中的代码。
xiaozejun 2010-03-21
  • 打赏
  • 举报
回复
有三种解决方式:
1.把你的dwr类继承action,action类也可以作为dwr的类来调用
2.不再action里面产生验证码,不把产生的验证码放到httpsession里面,用cookie的方式
3.在页面上直接刷新验证码,将产生的验证码放到一个隐藏域中,直接用JavaScript做比较
injuer 2010-03-21
  • 打赏
  • 举报
回复
Action也是普通类...........

让ACTION先获取SESSION后你在放入........

教给spring管理的Action可以避免被AJAX一步调用是出现被调两次的方法....

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧