Web开发6:JSP内置对象比较与分析2
先看个小例子:
request1.jsp
?
request2.jsp
?
request3.jsp
?
request3所在的页面可以正确取出客户在request1.jsp页面填写的username??
如果将request2.jsp改成
?
那么在request3.jsp页面显示的将是null?
?
request的getParameter与getAttribute方法的区别是:
getParameter取的是从客户端传来的值,而getAttribute取的是在服务器端由setAttribute设置好的值。
?
?
Application内置对象:
网页计算小程序,在不同的浏览器页面访问,计数都是累加!
application是JSP活动范围最大的对象,只要服务器不关闭,整个服务器只有一个application对象。它与session的区别是session只有一个针对每个浏览器,只要浏览器不"关闭",session对象就一直存在。request是针对请求,每次请求都会生成一个新的request对象。
?
此外application.getRealPath("xx")方法也很重要,它会返回资源在服务器上的绝对路径。
?
下面再写一个用户注册向导页面,包括三个页面,分别是My1.jsp,My2.jsp,My3.jsp
在My1.jsp中输入用户名,然后在My2.jsp中显示,并要求在My2.jsp中要求输入该用户的个人爱好。
最后在My3.jsp页面中显示出用户名与该用户的爱好。
My1.jsp
My2.jsp
?
My3.jsp
?
?
注意My2.jsp页面中的红色代码,使用此方法中转从My1.jsp页面转来的username到My3.jsp。现实中的大部分页面开发都是使用此方法。
如果不这样做,就需要使用sesssion来保存username,不推荐使用session,能少用session就尽量少用。