10月21日Ajax培训日记
2006-10-22 20:03 java ee spring 阅读(210) 评论(0) 编辑 收藏 举报今天由梁言兵老师为大家讲解ajax,他首先介绍了什么是web 2.0及web 2.0的应用。
ajax框架:
客户端框架:DOJO,bindows,Rico
服务器端框架:DWR,JSON,buffalo
基础库:prototype.js
这次讲解的是buffalo框架。buffalo要通过一个注册文件注册Bean对象,buffalo配置文件中的配置项是“对象实例名=完全限定类名”。
客户端代码:
var END_POINT="<%=request.getContextPath()%>/bfapp";
var buffalo = new Buffalo(END_POINT);
buffalo.remoteCall("userService.login",["username","password"], function(reply) {
var success = reply.getResult();
if (success) {
alert("You login successfully");
} else {
alert("user name or password incorrect!");
}
});
buffalo后台的JavaBean是否是共享的,用计数器测试一下,发现每个请求创建一个Bean实例对象。
客户端发送给服务器端的请求格式怎样,我安排冯伟立用sniffer监听软件听了一下,效果如图所示。
以前学了java web中的过滤器程序后,可以用filter来测试buffalo的请求和响应信息。
如果故意给buffalo的END_POINT的值改错,可以看到请求URL找不到,从这个错误中可以看到buffalo的请求URL。
这是Tomcat报的错,buffalo提供了自己的错误显示窗口。
引入buffalo的.js文件时,要注意引入的顺序,因为Javascript按顺序解释。
MyEclipse web2.0 browser可以调试javascript和看http协议信息。
习惯:专门建立一个resource目录管理自己的资源文件。
common目录放公共页面,如错误处理页面
image放置图片。
admin放置管理程序。
scripts专门放置js脚本
项目中也可以用script目录存储sql脚本
styles专门放置css文件。
用wst插件开发java web应用,web分发目录在project-->.metadata-->.plugin-->..server.core...-->tmp目录中,这个插件经常出问题,将lib下的某些jar包拷贝不到分发目录中,jsp文件更新不到分发目录中。
在baidu里面搜索"event.observe"
prototype.js中实现的$是document.getElementById
讲了AjaxTable的需求和设计思路
buffalo的formToBean方法生成的Javascript对象要包含服务器端对应的FormBean对象。buffalo接收到客户端的对象参数后,自动调用注册的服务器端的bean方法,并生成服务器端的对象作为参数传递给bean方法。如果formBean生成的JavaScript对象中只包含了BO的部分属性,那么可以接着为这个JavaScript对象动态增加其他属性,例如,AjaxTable中的Form表单中不包含当前显示的页号,可以动态将其加入。