SSH整合AJAX验证用户名存在和验证码的完整实例
SSH整合AJAX验证用户名存在和验证码的完整实例一(含代码)
——AJAX学习笔记
SSH三大框架如何整合,在我前几篇博文中已经很详细的介绍了,如果还有什么问题的,请查看我的博文Struts+Spring+Hibernate整合注册登录,谢谢。
那么现在就详细地介绍一下AJAX了。AJAX自己也是最近才学了一点,里面的一些框架或者知识只是略懂一些,写的不好请大家原谅。
下面是一个简单的使用AJAX进行验证用户名的,一般AJAX给人感觉的好处就是异步进行交互,让我们感觉页面并没有其他的动作(刷新),还有一个我感觉就是屏蔽了以前很恼人的alert弹出框了(这种验证在以前真的很多),让我们感觉页面做的更友好了,交互性更能跟上现在的web应用。
有人会说,Struts中不是有服务器端验证码,而且给人的交互也是很好的,那为什么还需要AJAX进行验证了?以我的经验和爱好的话说,我觉得服务器端和客户端的验证都必须要,这个有的时候是为了防止别人进行恶意的网址注入,也许现在我们做了更完善的验证的话,以后我们的网站就少了很多不必要的恶意破坏。
好了,现在就来说说下面的AJAX技术了,下面的例1,是一个很简单用户名验证存在的验证js和Servlet,实际上是没有技术含量的,其中返回的数据就可能有两种了,一种以html的格式,另一种就是xml了,例1给的是html格式的,xml的格式的代码就不贴了,说一下了。有两个修改点了,修改点1----响应的Content-Type必须是text/xml
httpServletResponse.setContentType("text/xml;charset=utf-8");
修改点2-----返回的数据需要拼装成xml格式
PrintWriter out = httpServletResponse.getWriter();
String old = httpServletRequest.getParameter("name");
//修改点2-----返回的数据需要拼装成xml格式
StringBuilder builder = new StringBuilder();
builder.append("");
… …
builder.append("");
out.println(builder.toString());
后面就是接收方法了,实际上也没有太大区别,就是接收的是xml语句,我们需要解析后就可以一样使用了。(具体实现请参考网上提供的教程或者我提供下载的代码)
//例1:简单的使用AJAX,返回的数据是html
//定义用户名校验的方法
function verify(){
//首先测试一下页面的按钮按下,可以调用这个方法
//使用javascript的alert方法,显示一个探出提示框
//alert("按钮被点击了!!!");
//1.获取文本框中的内容
//document.getElementById("userName"); dom的方式
//Jquery的查找节点的方式,参数中#加上id属性值可以找到一个节点。
//jquery的方法返回的都是jquery的对象,可以继续在上面执行其他的jquery方法
var jqueryObj = $("#userName");
//获取节点的值
var userName = jqueryObj.val();
//alert(userName);
//2.将文本框中的数据发送给服务器段的servelt
//使用jquery的XMLHTTPrequest对象get请求的封装
$.get("AJAXServer?name=" + userName,null,callback);
}
//回调函数
function callback(data) {
// alert("服务器段的数据回来了!!");
//3.接收服务器端返回的数据
// alert(data);
//4.将服务器段返回的数据动态的显示在页面上
//找到保存结果信息的节点
var resultObj = $("#result");
//动态的改变页面中div节点中的内容
resultObj.html(data);
}
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServ