国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

JavaEE中關于ServletConfig的小結

2019-11-26 15:22:57
字體:
來源:轉載
供稿:網友

     在Servlet的配置文件中,可以使用一個或多個<init-param>標簽為servlet配置一些初始化參數。當servlet配置了初始化參數后,web容器在創建servlet實例對象時,會自動將這些初始化參數封裝到ServletConfig對象中,并在調用servlet的init方法時,ServletConfig對象傳遞給servlet。進而,程序員通過ServletConfig對象就可以得到當前servlet的初始化參數信息。
示例代碼如下:

復制代碼 代碼如下:

 package com.yyz.servletconfig;
 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 ServletConfigDemo1 extends HttpServlet {
     ServletConfig config;
     public void doGet(HttpServletRequest request, HttpServletResponse response)
             throws ServletException, IOException {
       //獲取指定的初始化參數
         String value = config.getInitParameter("xxx");
         response.getOutputStream().write(value.getBytes());
         //獲取所有的初始化參數
         Enumeration e = cofig.getInitParameterNames();
         while(e.hasMoreElements()){
             String name = (String) e.nextElement();
             value = config.getInitParameter(name);
             response.getOutputStream().write((name+"="+value+"<br/>").getBytes());
         }
     }
     public void doPost(HttpServletRequest request, HttpServletResponse response)
             throws ServletException, IOException {
         doGet(request,response);
     }
     @Override
     public void init(ServletConfig config) throws ServletException {
         this.config = config;
     }
 }

相應的web.xml如下:

復制代碼 代碼如下:

測試結果如下:

 在上面的代碼中,ServletConfigDemo1對象中有一個ServletConfig對象,其實這是不必要的。因為ServletConfigDemo1繼承了HttpServlet,HttpServlet又繼承了GenericServlet 。GenericServlet 已經在內部維護了一個ServletConfig對象。相關實現如下:

復制代碼 代碼如下:

 public abstract class GenericServlet
     implements Servlet, ServletConfig, java.io.Serializable
 {
     …    …
 private transient ServletConfig config;
 public ServletConfig getServletConfig() {
           return config;
     }
 }

因而我們可以通過我們寫的Servlet對象的getServletConfig()方法直接拿到ServletConfig對象,示例代碼如下:

復制代碼 代碼如下:

 package com.yyz.servletconfig;
 
 import java.io.IOException;
 import java.io.PrintWriter;
 
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 public class ServletConfigDemo2 extends HttpServlet {
 
     public void doGet(HttpServletRequest request, HttpServletResponse response)
             throws ServletException, IOException {
 
         String value = this.getServletConfig().getInitParameter("name");
         System.out.println(value);
 }
 
     public void doPost(HttpServletRequest request, HttpServletResponse response)
             throws ServletException, IOException {
 
         doGet(request, response);
     }
 
 }

web.xml文件:

復制代碼 代碼如下:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临清市| 交城县| 定结县| 花莲县| 七台河市| 淮安市| 从化市| 贵港市| 昭平县| 宜春市| 晋宁县| 神农架林区| 丽江市| 荔波县| 肥西县| 敖汉旗| 平塘县| 伊金霍洛旗| 青神县| 新竹市| 南汇区| 泾源县| 林西县| 多伦县| 隆林| 新竹县| 冀州市| 南雄市| 广南县| 衡山县| 泾川县| 连州市| 台南市| 五河县| 东阿县| 沁水县| 临高县| 泽普县| 渝北区| 孝昌县| 石景山区|