键盘上跳舞的精灵 2012-06-11
本节以不使用框架,用最基本的JSP和Java代码讲解Web变量的设置和获取。
主要用到的方法有:
1,setAttribute()/getAttribute();
2,setParameter/getParameter;
3,另外还有EL表达式(ExpressionLanguage)等都可以实现该功能。
首先,以getAttribute()与getParameter()来说明下,两者间的区别:
1,getAttribute()得到的系对象,getParameter()得到的系String类型字符串;
2,request.getParameter()获取传递的数据是从Web客户端传到Web服务器端被获取,代表请求传送过来的数据;request.getAttribute()获取传递的数据存在与Web容器中,在具备转发关系的Web组件中共享;
3,getAttribute()是获取对象容器中的对象值,而getParameter()获取的是POST/GET方法传递的参数值(String);
4,getAttribute()返回的是object,可通过setAttribute()设置成任意对象,更具有灵活性,可随时使用。
在Web中,作用域由小到大为:page-->request-->session-->application
若想一个变量跨多个页面或功能点都有效,可以使用下面的方法:
request.getSession().setAttribute();
这样,生命周期就系session级别的了,在当前会话中全程有效。而request级别的只能在当前请求中有效,跨多一层请求就会失效了。