色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

JSP 從配置文件獲取參數詳解

這一節將介紹 ServletContext 和 ServletConfig 這兩個接口。 通過這兩個接口,我們可以在web.xml中設置一些參數,如數據庫地址、用戶名密碼等,供 Servlet 使用, 這樣每次參數值變動時,不用重新編譯Servlet了。

Javax.servlet.ServletContext接口(上下文參數)是針對整個項目的全局設置, 而Javax.servlet.ServletConfig接口(初始化參數)是針對當前Servlet的設置。 兩者的設置內容都寫在web.xml中。在Eclipse中新建Servlet時, 可以看到設置初始化參數的位置,如下圖:

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

那么在程序中如何取得這兩類參數?請看這幾個方法:

Javax.servlet.GenericServlet.getServletConfig()

返回當前Servlet的ServletConfig對象。

Javax.servlet.ServletConfig.getServletContext()

返回當前應用程序的ServletContext對象。

通過這兩個方法,我們就可以獲得當前Servlet的初始化參數對象和上下文參數對象。

ServletContext的主要方法:

String getInitParameter(String name)

獲取指定上下文參數的值。

ServletConfig的主要方法:

String getInitParameter(String name)

獲取指定初始化參數的值。

Java.util.Enumeration getInitParameterNames()

獲取所有的初始化參數的名稱。

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

示例下載:initparam_jb51NET.zip

+++++++++++++++++++++++++++++++++++++==
復制代碼 代碼如下:
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 { 

     /** 
      * 自動生成的序列號 
      */
     private static final long serialVersionUID = 7732869603825506920L; 

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

     /** 
      * 頁面標題 
      */
     private String title; 

     public void init() { 

         // 獲取參數 
         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技術JSP 從配置文件獲取參數詳解,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 墨脱县| 贵定县| 和平区| 涿鹿县| 鸡西市| 永德县| 镇康县| 文安县| 福海县| 大竹县| 黑水县| 通道| 辛集市| 来凤县| 嘉荫县| 泾川县| 周口市| 漾濞| 安新县| 鲁山县| 江永县| 富平县| 会宁县| 东阿县| 荣昌县| 名山县| 鄯善县| 福清市| 沧州市| 醴陵市| 凉山| 法库县| 黄冈市| 金阳县| 嘉祥县| 长汀县| 阜南县| 渝中区| 新野县| 南乐县| 徐汇区|