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,对于每一次的客户访问均有效。 |