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

      編輯Tag賺U幣

      推薦:基于JSP HttpServlet的詳細介紹
      本篇文章小編為大家介紹,基于JSP HttpServlet的詳細介紹,需要的朋友參考下

      這一節將介紹 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()方法中。 其他沒什么特別需要說明的地方,參數追加的方法參考前文即可。

      示例下載:+++++++++++++++++++++++++++++++++++++==

      復制代碼 代碼如下:www.wf0088.com

      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與Servlet的介紹說明
      本篇文章小編為大家介紹,JSP與Servlet的介紹說明。需要的朋友參考下

      來源:模板無憂//所屬分類:JSP教程/更新時間:2013-04-23
      相關JSP教程