今天看的技术都很基础,主要是针对上次看的Ajax核心xmlHttpRequest里的open函数做了下研究,开始的时候对get和post两种方式不太熟悉,后来查了些资料,并且写了些代码实际的操作了一下,对于get请求(或凡涉及到url传递参数的),被传递的参数都要先经encodeURIComponent方法处理,如: "servletForm?catalogId="+encodeURIComponent(catalogId.value),true);
使用Post方式需要注意:
(1).设置header的Context-Type为application/x-www-form-urlencode,确保服务器知道实体中有参数变量。通常使用XmlHttpRequest对象的SetRequestHeader()。如:
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
(2).参数是名/值一一对应的键值对,每队值用&号隔开,如var name=abc&sex=man&age=18;
(3).参数在Send(参数)方法中发送,例:xmlHttp.send(name);如果是get方式,直接xmlHttp.send(null);
(4).服务器端请求参数区分Get和Post。如果是get方式则$username = $_GET[“username”];如果是post方式,则$username = $_POST[“username”];
如,我在采用GET方式的时候,代码为:
function doRequestUsingGET(){
createXMLHttpRequest();
var queryString = "ajaxForm?";
queryString = queryString + createQueryString() + "&timeStamp=" + new Date().getTime();
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.open("GET",queryString,true);
xmlHttp.send(null);
}
我在采用POST方式的时候,代码为:
function doRequestUsingPOST(){
createXMLHttpRequest();
var url = "ajaxForm?"+createQueryString()+"&timeStamp=" + new Date().getTime();
var queryString = createQueryString();
xmlHttp.open("POST",url,true);
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
xmlHttp.send(null);
}
今天的重点是开始学习JSP了,我想这个对我来说也有些陌生,或许以前没学过,但是学起来还是很轻松的,因为用的语言是java,而且JSP语法里面的标记看起来还是很少的,我想只要多做做还是很容易掌握的,所以感觉还是蛮轻松的,接着看了JSP的内建对象分析,其实这个在我上次看Ajax 的时候已经涉及到了,就是在servlet端使用的对象,具体的包括request,response,out,Session,pageContext,application,config,page,当看到关于Session管理的时候,我忽然想到了JDeveloper里面关于页面的session,里面有pageFlow,scopeFlow,sessionFlow这样一些页面,而且具有不同的权限,他们的道理是相通的,如果当初略微知道一些关于JSP 的知识,那么在学习ADF的时候就不会那么困难了,不过当时学习的过程是很好的,是一个历练的过程,能够得到很多的体会,的确来之不易了。
今天的总结就到此结束吧,没有太难的东西,但一切都给我希望,希望以后发现难点,攻克难点。