简述
正在做项目的我对于ajax、jsp、js和servlet有了一个更深的理解,相比于之前对它们模糊不清的概念,似乎更加明显了。
- 关于AJAX:我起初学习ajax技术的时候,可能是因为我比较笨吧,觉得就是一个固定的模式,打固定的代码、执行固定的操作,但是就是不知道怎么用,所以在老师刚讲完,我并没有很清楚的知道它神奇的地方在哪。在做项目的过程中,我才慢慢的明白,AJAX其实用处有很多,它有一个固定的模式,可以把html/jsp中的参数传到servlet,再把servlet调取一系列方法锁获得的值作为AJAX的回调函数,然后再返回给html/jsp。其次,ajax还可以进行部分页面的刷新,这次在项目中的模糊查找就是得益于ajax的;
- 关于JS:AJAX一般写在JS中,所以我对js的看法又多了一些。它可以看做是嵌在JSP中的一段代码段,换言之,写在JSP中的 部分的内容,统统都可以写在JSP中,这样代码就看起来清晰多了,所以在这次项目中的按照ID查找,分页查找中涉及到函数和AJAX部分,我都把它提炼出来放在了JS板块中;
- 关于JSP:JSP的全称是java servlet page,从全称中就可以看出它是融合了servlet和html的部分功能,其实就是把静态页面和动态页面于一体;
- 对用户servlet:我对servlet的理解有两个:第一它可以用来书写动态页面;第二它可以连接数据库,通过MVC三层架构来获得数据,然后通过response传递传递数据到网页上,再在网页中通过代码获取数据。
ajax 和 servlet 的跳转场景的区别
1.servlet的页面跳转
在servlet中,一般跳转都调用doGet或者doPost方法
1. forward(转发)方式
跳转的代码:request.getRequestDispatcher(" ").forward(request, response);
特点:
- 页面的路径是相对路径;
- 跳转后浏览器地址栏不会变化;
- forward方式只能跳转到本web应用中的页面上(不会产生新的页面)
使用转发的方式跳转页面,传值可以使用三种方法:url中带request.getParameter(" “)、request.getsession,request.setAttribute(” ")
2. redirect (重定向)方式
跳转的代码:response.sendRedirect(" ");
特点:
- 页面的路径是相对路径;
- sendRedirect可以将页面跳转到任何页面,不一定局限于本web应用中;(比如:可以跳转到response.sendRedirect(“http://www.4399.com”);
- 跳转后浏览器地址栏变化;
使用转发的方式跳转页面,传值只能是parameter 或者 session
2.ajax的跳转(JSP)
$.ajax({
url : " " //输入你要跳转的页面
type : “POST” // 选择你的请求方式
data : " " //请求需要发送的处理数据的类型
async : false,//同步:意思是当有返回值以后才会进行后面的js程序。
success:function(msg){
// 写入成功之后的逻辑代码
}
}
}