ServletContext物件(2)、ServletContext域物件
ServletContext物件:
一、ServletContext物件的核心API(作用)
4、域物件有關的方法
1)域物件:作用是用於儲存資料,獲取資料。可以在不同的動態資源之間共享資料。
2)案例:想要從Servlet1向Servlet2傳送資料
方案一:
Servlet1 Servlet2
name=eric
response.sendRedirect("/Servlet2?name=eric") get方式 String request.getParameter("name");
方案1: 可以通過傳遞引數的形式,共享資料。侷限:只能傳遞字串型別。
方案2: 可以使用域物件共享資料,好處:可以共享任何型別的資料!
ServletContext就是一個域物件!
a)存取字串型別的資料:
b)存取物件:
//ServletContext存
package sram.context;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ContextDemo3 extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
//得到域物件
ServletContext context = this.getServletContext();
//把資料儲存到域物件中
context.setAttribute("Student",new Student("Endeavor",22));
System.out.println("儲存成功!");
}
}
class Student{
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Student(String name, int age){
this.name = name;
this.age =age;
}
public String toString() {
return "Student [name=" + name + ", age=" + age + "]";
}
}
//ServletContext取
package sram.context;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ContextDemo4 extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
//得到域物件
ServletContext context = this.getServletContext();
//從域物件中取出資料
Student student = (Student)context.getAttribute("Student");
System.out.println(student);
}
}
2)void setAttribute(java.lang.String name, java.lang.Object object) 儲存資料
3)java.lang.Object getAttribute(java.lang.String name) 獲取資料
4)void removeAttribute(java.lang.String name) 刪除資料
5)ServletContext域物件:作用範圍在整個web應用中有效!
所有域物件:
HttpServletRequest 域物件、ServletContext域物件、HttpSession 域物件、PageContext域物件
相關推薦
ServletContext物件(2)、ServletContext域物件
ServletContext物件: 一、ServletContext物件的核心API(作用) 4、域物件有關的方法 1)域物件:作用是用於儲存資料,獲取資料。可以在不同的動態資源之間共享資料。 2)案例:想要從Servlet1向Servlet2傳送資料
ServletContext物件(4)、web專案中路徑使用、ServletConfig,ServletContext方法總結
一、ServletContext物件: 1、web專案中路徑使用: package sram.path; import java.io.IOException; import java.io.P
es6學習之路(2):作用域,不存在變數提升,避免暫時性死區,與全域性物件的屬性脫鉤
1、ES6 新增了let命令,用來宣告變數。它的用法類似於var. const宣告一個只讀的常量。一旦宣告,常量的值就不能改變.const宣告的變數不得改變值,這意味著, const 一旦宣告變數,就必須立即初始化,不能留到以後賦值。 這2個都是在所在
python3面向物件(2)之super()
super()是一個什麼鬼?幹什麼用的?開啟菜鳥教程看一下super()的簡介;第一句話就是:super()函式是用來呼叫父類(超類)的一個方法。嗯哦;原來是一個函式可以返回一個父類的方法:於是我就這樣理解了,那麼如果是多繼承呢,是返回所有父類的被呼叫的方法嗎?一個疑問?看看下面的程式碼(先定義一個人類,然後
大物件(LOB)、批處理與元資料
1.大物件LOB LOB,即Large Objects(大物件),是用來儲存大量的二進位制和文字資料的一種資料型別(一個LOB欄位可儲存可多達4GB的資料)。分為BLOB 和CLOB。 大文字CLOB: CLOB(Character Large Object) – 用於儲存大量的文字資料
php面向物件(2)值傳遞
PHP中值傳遞方式,2中 值傳遞:傳遞的時候,拷貝的是資料本身。預設都是值傳遞 結果:傳遞完成,有了2份同樣的資料,且2個變數“相互獨立”,不會相互影響 引用傳遞:傳遞的時候,拷貝的是引用關係(資料的記憶體地址)。需要使用“&”符合才能實現引用傳遞 結果:傳遞完成,資料
JVM GC調優(2)-----GC演算法判定物件可以被回收(部分摘自深入理解Java虛擬機器)
這次我們介紹JVM中的GC演算法 引用計數法 可達性分析法 首先我們提出四個問題 哪裡的記憶體需要回收? 什麼時候回收? 如何回收? Java與C++之間有一堵由記憶體動態分配和垃圾收集技術所圍成的“高牆”, 牆外面的人想進去, 牆裡面的人卻想出來。
面向物件(2)
/* OOP:封裝 繼承 多型 OOP:抽象 封裝 繼承 多型 許可權:public private this:成員方法宣告或者定義的時候加上this指標 成員方法呼叫的時候,自動傳參this指標 在成員方法內使用成員變數的地方,加上this
面向物件(2 )建構函式 原型 原型鏈的理解
面向物件(2) 原型 原型鏈的理解 1.面向物件的目的就是生成物件object。 2.生成物件的方式 (1)單例模式(字面量定義)var obj={} (2)類的例項 var obj=new Object()
深度探索C++物件模型(2)——物件(2)——this指標調整
this指標調整 首先看程式碼示例: #include <iostream> using namespace std; class A { public: int a; A() { printf("A::A()的this指標是:%p!\n",this); } v
機器學習(十四)——協同過濾的ALS演算法(2)、主成分分析
Kendall秩相關係數(Kendall rank correlation coefficient) 對於秩變數對(xi,yi),(xj,yj): (xi−xj)(yi−yj)⎧⎩⎨>0,=0,<0,concordantneither con
json跨域(2)----js跨域及解決方案
之前轉載過一篇關於跨域的文章,分不清什麼叫主域跨域和二級跨域 下面這篇微博的博主寫的很好,也很清楚。 轉載連結:http://www.cnblogs.com/oneword/archive/2012/12/03/2799443.html 1.什麼是跨域 我們經常會在
深度探索C++物件模型(2)——物件(2)
this指標調整 首先看程式碼示例: #include <iostream> using namespace std; class A { public: int a; A() { printf("A::A()的this指標是:%p!\n",thi
【C++】類和物件(2)
一、類的作用域 類定義了一個新的作用域,類的所有成員都在類的作用域中。在類體外定義成員,需要使用 :: 作用域解析符 指明成員屬於哪個類域。否則找不到。 class person { public: void PrintfPersonInfo(); private: char _name
C++初識:類和物件(2)
在之前的文章裡,我們出初步瞭解了,什麼是類,類如何定義,類的大小怎麼計算等 一個空類裡面什麼也沒有,但是它並非是什麼也沒有,只要是類,它就有6個預設的成員函式: 1.建構函式 2.解構函式 3.拷貝建構函式 4.賦值操作符過載 5.取地址操作符過載 6.co
(2)、rabbitMQ的通訊流程
在上一篇中,大致介紹了一下rabbitmq(為了方便,以下簡稱rmq)中一些比較重要的概念,對rabbitmq也算是有了一些的瞭解。接下來,我們來看看rabbitmq的訊息傳遞的流程,來熟悉和加深對rabbitmq 的瞭解。 一、rabbitMQ訊息傳
《ArcGIS Runtime SDK for Android開發筆記》——(2)、Android Studio基本配置與使用
1、前言 在上一篇文章《Android Studio下載與安裝》裡我們已經介紹了Android Studio的下載與安裝步驟,這一篇我們將針對Android Studio的基本常見使用做一個簡單介紹。 2、基本配置 2.1、主題設定 開啟File > Settings > Appearanc
自己用的C#基礎學習筆記(二)——C#面向物件(2)
1 第十一天 1.1 string stringbuffer stringbulider 1.三者在執行速度方面的比較:StringBuilder > StringBuffer > String 2.String <(StringBuffer,Str
Matplotlib資料視覺化(2):三大容器物件與常用設定
上一篇部落格中說到,matplotlib中所有畫圖元素(artist)分為兩類:基本型和容器型。容器型元素包括三種:figure、axes、axis。一次畫圖的必經流程就是先建立好figure例項,接著由figure去建立一個或者多個axes,然後通過axes例項呼叫各種方法
ARCEngine中的顏色瀏覽器物件(ColorBrowser),顏色選擇器物件(ColorSelector),顏色板物件(Colorpalatte)
目錄 顏色瀏覽器物件(ColorBrowser): 顏色選擇器物件(ColorSelector): 顏色板物件(Colorpalatte): 名稱空間:ESRI.ArcGIS.Framework; GetRGB函式: private IColor GetR