javaBean 在jsp和serlvle中的传递技术要点
一、 初始化javaBean
1、 在jsp中
在上一段的代码中执行过程如下:
? 按照scope的参数寻找相同id的javabean,如果找到了就跳出该;
? 如果没有找到则在scope参数的位置上创建一个实例,并且执行和中的初始化语句;
也就是说,如果确定你一定要设置现在状态下的scope参数位置上的beanname,则避免使用类似上述代码,而应该将语句放在之外。
2、 在serlvlet中
package.classname beanname=new package.classname();
然后将beanname放置在不同的位置;
二、 javabean的存在位置以及操作
在这里说javabean的存放位置主要是指针对不同的scopeparameter而言,因此在这里将分别讨论之。
jsp servlet 读写方式(Servlet仅仅列出了取得或者设定reference,略去了具体属性的setXxx和getXxx)
jsp Servlet
scope=”page” Request.pagecontext
或者
直接引用
scope=”request” Request package.classname beanref=(package.classname)request. getAttribute(”beanname”);
或者
request.setAttribute(“beanname”,beanref);
scope=” session” httpSession HttpSession session= request.getSession(true);
package.classname beanref =( package.classname)session.getAttribute("beanname ");
或者
session.setAttribute("beanname ",beanref);
scope=”applicaton” servletcontext package.classname beanref= getServletContext().getAttribute(“beanname”);
或者
getServletContext().setAttribute(“beanname”,beanref);
三、 具体应用
类型 应用
scope=”page” 在jsp中的缺省设置,类似一种页面范围内的变量实例。
scope=”request” 在一次request中有效范围内的变量实例。
scope=” session” 在一次客户端访问范围内变量实例,每一次访问均不同。
scope=”applicaton” 在服务器程序范围内的变量实例,类似于static,对于每一次的客户访问均有效。