日期:2014-05-16  浏览次数:20390 次

ajax和jsp

这是学习AJAX的第一篇文章,我把自己学习一些心得写出来,因为是从初学者的脚度出发,可能会写得比较详细,因为我就是一个初学者,也知道作为一个初学者,随随便便的拿一个例子就看看,是只知道要这样,但为什么要这样却不清楚,我这里就尽我自己的语言,让初学者和我一样,能够看了这篇文章之后,“哦,这里原来是这样的”。我个人还是喜欢从实例出发,对我自己而言,看了过后如果没有实例巩固,效果就不会那么好,也就不会减除对这个东西的神秘感,其实,从我个人的脚度出发后,因为前面写了两篇关于使用innerHTML实现动态效果的文章,再学这个就做了一个很好的铺垫了。因为这里面许多的时候都会使用 innerHTML,不过,这个要注意,这个东东只支持微软的浏览器(我的FireFox不行,其它牌子支持与否我没有测试过,不过,在浏览器界中,好像只有微软的独树一家,乱来,呵呵),你可以看一下我先面的两篇文章:
利用innerHTML实现隐显效果-两种实现方法
通过改变innerHTML的内容,动态增加选择项
学习使用AJAX之前,有几样的东西是必须的:
1、HTML
2、DHTML,就是动态HTML,这里可能会常用到document.getElementById([id])方法,或者是使用window.id.value= [value]等等,如果不熟悉,不及,看看下面的例子,如果还不能够理解,再把网上搜搜,这方面的解释多得不能够再多了。
3、Javascript。这个就是非常的重要的,因为好多东西都需要通过这个去操作。
4、DOM。这个不是必须的,就算我们不知道这个东西,照样可以用JAVASCRIT做很多的东西了。
5、数据库操作及SQL知识。现在应用程序好多都是与数据库打交道,常见的用户名信息等等,都是放在数据库中的。
下面进行正题吧,这个实例非常的简单,采用JSP实现用户输入的用户是否存在于数据库中,并且给以相应的提示,所谓“麻雀虽小,五脏俱全”,其它的发挥就是在这个方向上发挥开发。
总共有三个文件,有两个JSP面,一个用于前台显示,一个用于确定用户是否存在;另外一个JAVA页面,用于做数据库连接。
注:请注意其中注释,那是非常的有助于你理解
第一个前台显示:index.jsp

Html代码 复制代码
  1. <html>??
  2. <head>??
  3. <title></title>??
  4. <script?language="javascript"?>??
  5. var?httpRequest; ??
  6. //下面这个函数可以返回一个适合任何浏览器的httpRequest,步子如下: ??
  7. //1.试着创建一个XMLHttpRequest()示例,该示例可适合于除了微软以外的所有浏览器 ??
  8. //2.增加错误判断,如果当前浏览器是微软的,那么就创建适用于微软的浏览器 ??
  9. //3.但微软的浏览器又有两个版本之分,不过据说微软已经在7.0中增加对XMLHttpRequest()的支持 ??
  10. //4.但这样也需要对原来的浏览器支持,否则你写出来的程序那些用老版本浏览器的用户就是看不到效果的。 ??
  11. function?createRequest() ??
  12. { ??
  13. ????try{ ??
  14. ????????request=new?XMLHttpRequest(); ??
  15. ????}catch(trymicrosoft) ??
  16. ????{ ??
  17. ????????try{ ??
  18. ????????????request=new?ActiveXObject("Msxml2.XMLHTTP"); ??
  19. ????????}catch(othermicrosoft) ??
  20. ????????{ ??
  21. ????????????try{ ??
  22. ????????????????request=new?ActiveXObject("Microsoft.XMLHTTP"); ??
  23. ????????????} ??
  24. ????????????catch(failed) ??
  25. ????????????{ ??
  26. ????????????????request=false; ??
  27. ????????????} ??
  28. ????????} ??
  29. ????} ??
  30. ????if(!request) ??
  31. ????{ ??
  32. ???????alert("err?Happend!"); ??
  33. ???????return?null; ??
  34. ????}??????? ??