主頁 > 知識(shí)庫 > JSP 從配置文件獲取參數(shù)詳解

JSP 從配置文件獲取參數(shù)詳解

熱門標(biāo)簽:科大訊飛語音識(shí)別系統(tǒng) 團(tuán)購網(wǎng)站 銀行業(yè)務(wù) Linux服務(wù)器 阿里云 服務(wù)器配置 Mysql連接數(shù)設(shè)置 電子圍欄
這一節(jié)將介紹 ServletContext 和 ServletConfig 這兩個(gè)接口。 通過這兩個(gè)接口,我們可以在web.xml中設(shè)置一些參數(shù),如數(shù)據(jù)庫地址、用戶名密碼等,供 Servlet 使用, 這樣每次參數(shù)值變動(dòng)時(shí),不用重新編譯Servlet了。

javax.servlet.ServletContext接口(上下文參數(shù))是針對(duì)整個(gè)項(xiàng)目的全局設(shè)置, 而javax.servlet.ServletConfig接口(初始化參數(shù))是針對(duì)當(dāng)前Servlet的設(shè)置。 兩者的設(shè)置內(nèi)容都寫在web.xml中。在Eclipse中新建Servlet時(shí), 可以看到設(shè)置初始化參數(shù)的位置,如下圖:

上下文參數(shù)就沒這么方便,只能通過手工編輯web.xml來添加了。 好在Eclipse提供了方便的XML編輯器, 打開web.xml之后即可看到各個(gè)Servlet的配置情況, 右鍵單擊最頂層的“web-app”元素,選擇Add Child->context-param, 然后分別修改 param-nameparam-value 即可。

那么在程序中如何取得這兩類參數(shù)?請(qǐng)看這幾個(gè)方法:

javax.servlet.GenericServlet.getServletConfig()

返回當(dāng)前Servlet的ServletConfig對(duì)象。

javax.servlet.ServletConfig.getServletContext()

返回當(dāng)前應(yīng)用程序的ServletContext對(duì)象。

通過這兩個(gè)方法,我們就可以獲得當(dāng)前Servlet的初始化參數(shù)對(duì)象和上下文參數(shù)對(duì)象。

ServletContext的主要方法:

String getInitParameter(String name)

獲取指定上下文參數(shù)的值。

ServletConfig的主要方法:

String getInitParameter(String name)

獲取指定初始化參數(shù)的值。

java.util.Enumeration getInitParameterNames()

獲取所有的初始化參數(shù)的名稱。

示例程序分別通過ServletContextServletContent讀出值并顯示出來。 因?yàn)閰?shù)值在Servlet的生命周期中是不變的,僅需讀取一次即可, 所以將取得參數(shù)的代碼寫在了 init() 方法而不是 doGet()方法中。 其他沒什么特別需要說明的地方,參數(shù)追加的方法參考前文即可。

示例下載:initparam_jb51net.zip

+++++++++++++++++++++++++++++++++++++==

復(fù)制代碼 代碼如下:

package com.idv2.learnjsp; 

 import java.io.IOException; 
 import java.io.PrintWriter; 

 import javax.servlet.ServletConfig; 
 import javax.servlet.ServletContext; 
 import javax.servlet.ServletException; 
 import javax.servlet.http.HttpServletRequest; 
 import javax.servlet.http.HttpServletResponse; 

 /** 
  * Servlet implementation class for Servlet: InitParam 
  * 
  */
  public class InitParam extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet { 

     /** 
      * 自動(dòng)生成的序列號(hào) 
      */
     private static final long serialVersionUID = 7732869603825506920L; 

     /** 
      * 程序名稱 
      */
     private String appName; 

     /** 
      * 頁面標(biāo)題 
      */
     private String title; 

     public void init() { 

         // 獲取參數(shù) 
         ServletConfig config = getServletConfig(); 
         ServletContext context = config.getServletContext(); 
         title = config.getInitParameter("title"); 
         appName = context.getInitParameter("appname"); 
     } 

     /* (non-Java-doc) 
      * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 
      */
     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 

         response.setContentType("text/html; charset=UTF-8"); 

         PrintWriter out = response.getWriter(); 

         out.println("html>"); 
         out.println("head>"); 
         out.println("title>" + title + "/title>"); 
         out.println("/head>"); 
         out.println("body>"); 
         out.println("Application name: " + appName); 
         out.println("/body>"); 
         out.println("/html>"); 
     } 
 }

您可能感興趣的文章:
  • JSP實(shí)現(xiàn)遠(yuǎn)程文件下載保存到服務(wù)器指定目錄中的方法
  • jsp中獲取當(dāng)前目錄的方法
  • JSP針對(duì)XML文件操作技巧實(shí)例分析
  • JSP導(dǎo)出Excel文件的方法
  • JSP實(shí)現(xiàn)快速上傳文件的方法
  • JSP文件下載功能的4種方法
  • JSP常見的文件操作小結(jié)
  • jsp編程獲取當(dāng)前目錄下的文件和目錄及windows盤符的方法

標(biāo)簽:棗莊 衡水 江蘇 蚌埠 萍鄉(xiāng) 衢州 大理 廣元

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《JSP 從配置文件獲取參數(shù)詳解》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266