溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ServletContext指的是什么

發布時間:2020-10-30 10:13:48 來源:億速云 閱讀:255 作者:小新 欄目:編程語言

這篇文章主要介紹ServletContext指的是什么,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

每個應用都會有一個ServletContext對象與之關聯,當容器分布在多個虛擬機上時,web應用在所分布的每個虛擬機上都擁有一個 ServletContext實例。缺省情況下,ServletContext不是分布式的,并且只存在于一個虛擬機上。

ServletContext官方叫servlet上下文。服務器會為每一個工程創建一個對象,這個對象就是ServletContext對象。這個對象全局唯一,而且工程內部的所有servlet都共享這個對象。所以叫全局應用程序共享對象。

ServletContext:代表當前web應用(非常重要)

WEB容器在啟動時,它會為每個WEB應用程序都創建一個對應的ServletContext對象,它代表當前web應用。

ServletConfig對象中維護了ServletContext對象的引用,開發人員在編寫servlet時,可以通過ServletConfig.getServletContext方法獲得ServletContext對象由于一個WEB應用中的所有Servlet共享同一個ServletContext對象,因此Servlet對象之間可以通過ServletContext對象來實現通訊。

ServletContext對象通常也被稱之為context域對象。

ServletContext的應用:

context中常用的方法有:

void setAttribute(String,Object);

Object getAttribute(String);

void removeAttribute(String);

1.做為域對象可以在整個web應用范圍內共享數據。

域對象:在一個可以被看見的范圍內共享數據用到對象

作用范圍:整個web應用范圍內共享數據

生命周期:當服務器啟動web應用加載后創建出ServletContext對象后,域產生。當web應用被移除出容器或服務器關閉,隨著web應用

的銷毀域銷毀。

2、獲取WEB應用的初始化參數

我們在第一段中,通過<init-param>標簽為某一個單獨的servlet加配置信息,這種配置信息在其他的Servlet中是無法訪問到的??扇绻覀兪褂?lt;context-param>標簽(與Servlet標簽并列)為整個Web應用配置屬性的話,那所有的Servlet就都能訪問里面的參數了。例如:可以把數據庫的配置信息放在這里。

這里涉及到一些概念不要混淆:

請求參數 parameter --- 瀏覽器發送過來的請求中的參數信息初始化參數 initparameter --- 在web.xml中為Servlet或ServletContext配置的初始化時帶有的基本參數域屬性 attribute --- 四大作用域中存取的鍵值對

代碼舉例:

在web.xml中為整個web應用添加初始化參數:用戶名、密碼。代碼位置如下:

ServletContext指的是什么

package com.vae.servlet;
 
 
import java.io.IOException;
import java.util.Enumeration;
 
 
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 ServletTest03 extends HttpServlet {
 
 
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        ServletContext context = this.getServletContext(); // 得到上下文對象
 
 
        // 獲取單個的Context里面的初始化參數
        String value1 = context.getInitParameter("username");
        String value2 = context.getInitParameter("password");
        System.out.println(value1 + ";" + value2);
        System.out.println();
 
 
        // 一次性獲取Context里所有的初始化參數
        Enumeration enumeration = context.getInitParameterNames();
        while (enumeration.hasMoreElements()) {
            String name = (String) enumeration.nextElement();
            String value = context.getInitParameter(name);
            System.out.println(name + ";" + value);
 
 
        }
 
 
    }
 
 
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doGet(request, response);
    }
 
 
}

上面的代碼可以看到,我們可以通過context.getInitParameter()方法獲得初始化參數。

運行效果如下:

ServletContext指的是什么

以上是ServletContext指的是什么的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女