ServletConfig詳解

--------------------------- ServletConfig詳解----------------------------

ServletConfig

ServletConfig對象對應web.xml文件中的<servlet>元素。例如你想獲取當前Servlet在web.xml文件中的配置名,那麼可以使用servletConfig.getServletName()方法獲取!

你不能自己去創建ServletConfig對象,Servlet的init()方法的參數就是ServletConfig類型的。Tomcat在調用init()方法時,會傳遞ServletConfig對象。你可以在init()方法中使用它!

在<servlet>元素中還可以配置初始化參數:

  <servlet>

    <servlet-name>One</servlet-name>

    <servlet-class>

    com.rl.servlet.OneServlet

    </servlet-class>

    <init-param>

        <param-name>paramName1</param-name>

        <param-value>paramValue1</param-value>

    </init-param>

    <init-param>

        <param-name>paramName2</param-name>

        <param-value>paramValue2</param-value>

    </init-param>

  </servlet>

 

添加了兩個初始化參數,第一個參數的名稱爲paramName1,第一個參數的值爲paramValue1;第二個參數的名稱爲paramName2,第二個參數值爲paramValue2。

在<servlet>元素中可以加載多個<init-param>,每個<init-param>表示一個參數。<init-param>下有兩個子元素:<param-name>和<param-value>,其中<param-name>表示參數的名稱,而<param-value>元素參數的值。

注意,<init-param>是添加到<servlet>元素中,而不是<servlet-mapping>中。

  使用ServletConfig對象的getInitParameter(String paramName)方法可以獲取指定參數名稱的參數值。getInitParameterNames()方法返回所有參數的名字,返回值類型爲Enumeration。

 

代碼示例:

package com.rl.servlet;

 

import java.io.IOException;

import java.util.Enumeration;

 

import javax.servlet.ServletConfig;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

 

public class HttpServletDemo1 extends HttpServlet {

 

 

       @Override

       public void init(ServletConfig config) throws ServletException {

              //從Servlet中獲得初始化的參數值

              String username = config.getInitParameter("username");

              System.out.println(username);

             

              //獲得所有的參數名

              Enumeration enums = config.getInitParameterNames();

              while(enums.hasMoreElements()){

                     String name = (String)enums.nextElement();

                     String value = config.getInitParameter(name);

                     System.out.println(value);

              }

       }

 

       public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

 

      

       }

 

       public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

 

 

       }

 

}

 

Web.xml代碼

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">

 

  <servlet>

    <servlet-name>HttpServletDemo1</servlet-name>

    <servlet-class>com.rl.servlet.HttpServletDemo1</servlet-class>

      <load-on-startup>1</load-on-startup>

    <init-param>

           <param-name>username</param-name>

           <param-value>123456</param-value>

    </init-param>

    <init-param>

           <param-name>password</param-name>

           <param-value>111111</param-value>

    </init-param>

  </servlet>

 

  <servlet-mapping>

    <servlet-name>HttpServletDemo1</servlet-name>

    <url-pattern>/servlet/HttpServletDemo1</url-pattern>

  </servlet-mapping>

</web-app>

 

發佈了205 篇原創文章 · 獲贊 125 · 訪問量 27萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章