一、 初始化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,對於每一次的客戶訪問均有效。