函数 //注册回调函数时之需要函数名不要加括号 //我们需要将函数名注册如果加上括号就会把函数的返回值注册上这是错误的 xmlhttp.onreadystatechange callback //3。
设置连接信息 //第一个参数表示http的请求方式支持所有http的请求方式主要使用get和post //第二个参数表示请求的url地址get方式请求的参数也在url中 //第三个参数表示采用异步还是同步方式交互true表示异步 xmlhttp.openGETAJAXServername userNametrue //POST方式请求的代码 //xmlhttp.openPOSTAJAXServertrue //POST方式需要自己设置http的请求头 //xmlhttp.setRequestHeaderContent-Typeapplication/x-www-form-urlencoded //POST方式发送数据 //xmlhttp.sendname userName //4.发送数据开始和服务器端进行交互 //同步方式下send这句话会在服务器段数据回来后才执行完 //异步方式下send这句话会立即完成执行 xmlhttp.sendnull //回调函数 function callback //alertxmlhttp.readyState //5。
接收响应数据 //判断对象的状态是交互完成 if xmlhttp.readyState 4 //判断http的交互是否成功 if xmlhttp.status 200 //获取服务漆器端返回的数据 //获取服务器段输出的纯文本数据 var responseText xmlhttp.responseText //将数据显示在页面上 //通过dom的方式找到div标签所对应的元素节点 var divNode document.getElementByIdresult //设置元素节点中的html内容 divNode.innerHTML responseText else alert出错了 上面的都是AJAX的一些知识本想后面就介绍如何使用AJAX整合SSH进行用户名数据库中取得存在和验证码的例子但介于博文字数的限制就留到下一篇博文中了请阅读下一篇博文 SSH整合AJAX验证用户名存在和验证码的完整实例二 不好意思。
本博文提供下载 博文的word原稿AJAX使用的代码AJAX SSH 进行用户名数据库中取得存在和验证码的代码。
如果有什么问题和好的建议请与木子QQ506817493。
木子写于2009年8月7日 附源码下载 博文的word原稿 AJAX使用的代码 AJAX SSH 进行用户名数据库中取得存在和验证码的代码 SSH整合AJAX验证用户名存在和验证码的完整实例二含代码 ——AJAX学习笔记 在上一篇博文SSH整合AJAX验证用户名存在和验证码的完整实例一中介绍了AJAX的一些技术问题现在就来我们的实例SSH整合AJAX验证用户名存在和验证码的完整实例了。
先介绍这个实例中我遇到的问题 1. 用户名是从数据库中取得的但是进行验证用户名是否存在的是个Servlet这个时候就会想到在这个Servlet里建立一个Dao的对象对数据库的操作而SSH整合的时候Spring对Servlet注入对象的机制是不一样的。
具体的情查看我写的博文 特殊情况ActionFormServlet Filter Listener下Spring如何注入对象 现在介绍一下再Servlet里如何通过Spring注入对象 使用Servlet进行验证这种思路很适合AJAX验证的思路不过问题出现了还是空指针异常Spring注入的对象根本没有实例化。
一开始还以为和Servlet的生命周期有点关系后来在网上搜了一些东西还是感觉可以通过Spring进行注入的。
下面介绍在Servlet或者Filter或者Listener中使用spring的IOC容器默认情况下Servlet容器创建spring容器对象注入到servletContext中servletContext对象又是注入到session对象中session对象又是注入到request对象中request对象又是注入到servlet对象中其实不是很标准的注入是传参数或者对属性直接付值。
层层依赖可以得到spring容器对象。
ServletContext servletContext request.getSession.getServletContext ApplicationContext ctx WebApplicationContextUtils.getWebApplicationContextservletContext UsersManager um UsersManagerctx.getBean UserManager 2. 验证码如何生成 验证码的生成网上的代码比较多了有js生成的还有Servlet生成的在本例中我使用了Servlet生成的一个验证码。
生成验证码不难但难的是如何进行验证码的验证了一般人想到的在生产验证码的Servlet中把生成的验证码加到session中在通过jsp的判断一开始我也是这样写的不过后来就有问题了什么问题了那就是Javascript获取的验证码和生成的验证码不同的session中的总是前一个显示的验证码也就是jsp获取的验证码总是比Servlet中获得的验证码慢一拍了在网上搜了很多竟然没有完整的验证码验证的实例这应该是我写这篇博文的一个原因吧希望对大家有帮助 网上的这个问题的解答大致是这样的一个就是说这个是加载机制的问题jsp是在Servlet前面进行的加载所以说虽然生成图片的Servlet写人了session不过jsp总是慢一拍了。
另一个就是建议我们使用AJAX进行了。
这个也是我实现的不过网上并没有太多的代码供我们参考我也就在用户名验证的基础上加了一个验证码的验证了。
测试通过是可以。
3. 在Servlet中验证的时候会出现对多个字段的验证象在我的这个例子中就有两个用户名存在验证和验证码验证那么如何处理验证后的返回的信息了。
解决办法那也只有用AJAX的xml数据格式了可以通过解析获取不同的验证信息这样就可以验证多个字段了。
不过这时应该有个技巧怎么样进行性能的优化了不然每次一个字段的验证都变成了所有字段的验证。
我处理的时候就是在AJAX进行传值的时候只传需要验证字段的值在传值之前当然要用js进行一个非空验证了这传到Servlet里在通过判断哪个字段非空了那这个时候就是验证这个字段了其他空字段就用ifelse进行处理掉了。
应该还是可以节约一些性能的吧。
如果有什么好的想法我们可以一起讨论了。
谢谢。
实例运行截图如下 代码也就不贴了后面会提供原代码下载的。
下载发现一个问题就是下载的代码如何用了。
说一下我的环境吧一般我写的Java EE 的代码是在MyEclipse MySql Tomcat下的只需要这些环境就可以了需要说明一点的是博文中用的的Mysql数据库的sql文件我都会提供给大家大家只需导入就可以了但还需注意一点的就是我的mysql数据库密码是和你的不一样的请大家修改Hibernate的配置文件修改为你自己的mysql用户root的密码。
其他的就请把Project导入再在tomcat发布应该就可以运行了。
如果有什么问题请联系木子QQ506817493。
木子写于2009年8月7日 本博文提供下载 博文的word原稿AJAX使用的代码AJAX SSH 进行用户名数据库中取得存在和验证码的代码。
如果有什么问题和好的建议请与木子QQ506817493。
附源码下载 博文的word原稿 AJAX使用的代码 AJAX SSH 进行用户名数据库中取得存在和验证码的代码
上一篇:
XP出现局域网访问无权限问题的完整解决方案
下一篇:
多年来只想说一句,我不怪你