一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - JavaEE中關于ServletConfig的小結

JavaEE中關于ServletConfig的小結

2019-12-02 14:41hebedich JAVA教程

ServletConfig是針對特定的Servlet的參數(shù)或屬性。ServletConfig是表示單獨的Servlet的配置和參數(shù),只是適用于特定的Servlet。從一個servlet被實例化后,對任何客戶端在任何時候訪問有效,但僅對本servlet有效,一個servlet的ServletConfig對象不能

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

 

復制代碼代碼如下:

 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 {
       //獲取指定的初始化參數(shù)
         String value = config.getInitParameter("xxx");
         response.getOutputStream().write(value.getBytes());
         //獲取所有的初始化參數(shù)
         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如下:

 

復制代碼代碼如下:

 <?xml version="1.0" encoding="UTF-8"?>
 
 <web-app xmlns="http://java.sun.com/xml/ns/javaee"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
     version="2.5">
   <servlet>
    
     <servlet-name>ServletConfigDemo1</servlet-name>
     <servlet-class>com.yyz.servletconfig.ServletConfigDemo1</servlet-class>
     <init-param>
                <param-name>xxx</param-name>
                <param-value>yyy</param-value>
     </init-param>
       <init-param>
                <param-name>name</param-name>
                <param-value>yyz</param-value>
     </init-param>
       <init-param>
                <param-name>password</param-name>
                <param-value>yyy</param-value>
     </init-param>
   </servlet>
  <servlet-mapping>
     <servlet-name>ServletConfigDemo1</servlet-name>
     <url-pattern>/servlet/ServletConfigDemo1</url-pattern>
   
   </servlet-mapping>
 </web-app>

 

測試結果如下:

JavaEE中關于ServletConfig的小結

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

 

復制代碼代碼如下:

 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文件:

 

復制代碼代碼如下:


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

 

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    version="2.5">
 <servlet>
    <servlet-name>ServletConfigDemo2</servlet-name>
    <servlet-class>com.yyz.servletconfig.ServletConfigDemo2</servlet-class>
     <init-param>
               <param-name>name</param-name>
               <param-value>yyz</param-value>
    </init-param>
  </servlet>
 <servlet-mapping>
    <servlet-name>ServletConfigDemo2</servlet-name>
    <url-pattern>/servlet/ServletConfigDemo2</url-pattern>
  </servlet-mapping>
</web-app>

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 韩国美女主播在线 | 国产亚洲视频在线 | 1769亚洲资源站365在线 | 校花小雪灌满了男人们的浓浆 | 色综色天天综合网 | 韩国日本香港毛片免费 | 男同志gays| 青青草精品在线观看 | 天天操天天爽天天射 | 大象传媒免费网址 | 成人综合婷婷国产精品久久免费 | 亚洲网站在线 | 2019中文字幕在线视频 | 性色香蕉AV久久久天天网 | 狠狠色狠狠色综合曰曰 | 九九影院午夜理论片无码 | 国产精品永久免费视频 | xxxxx性欧美| 免费一级欧美片片线观看 | 满溢游泳池免费土豪全集下拉版 | 男人含玉势出嫁束器 | 爱情岛永久成人免费网站 | 男人的j插入女人的p | 99热免费在线 | 人人艹在线视频 | 欧美一级精品 | 91制片厂制作传媒破解版免费 | 极品主播的慰在线播放 | 第四色男人天堂 | 四虎影视地址 | 校园情射| 欧美日韩一区二区三区免费不卡 | 亚洲好视频 | 奇米网狠狠网 | 很黄的孕妇a级黄毛片 | 日韩一本在线 | 91精品免费国产高清在线 | 亚洲swag精品自拍一区 | 98成人 | 男女一级簧色带 | 精品国产综合区久久久久久 |