1. 程式人生 > >ServletContext物件(2)、ServletContext域物件

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物件2ServletContext物件

ServletContext物件: 一、ServletContext物件的核心API(作用) 4、域物件有關的方法 1)域物件:作用是用於儲存資料,獲取資料。可以在不同的動態資源之間共享資料。 2)案例:想要從Servlet1向Servlet2傳送資料

ServletContext物件4web專案中路徑使用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

2rabbitMQ的通訊流程

在上一篇中,大致介紹了一下rabbitmq(為了方便,以下簡稱rmq)中一些比較重要的概念,對rabbitmq也算是有了一些的瞭解。接下來,我們來看看rabbitmq的訊息傳遞的流程,來熟悉和加深對rabbitmq 的瞭解。 一、rabbitMQ訊息傳

《ArcGIS Runtime SDK for Android開發筆記》——2Android 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