Servlet總結-ServletConfig、ServletContext

創建Servlet

  1. 創建一個類繼承javax.servlet.http.HttpServlet類
  2. 覆蓋doGet(), doPost() 方法
  3. 在web.xml中配置servlet

    <servlet>
        <servlet-name>Index</servlet-name>
        <servlet-class>com.zjl.main.IndexServlet</servlet-class>
    </servlet>
    
    <servlet-mapping>
        <servlet-name>Index</servlet-name>
        <url-pattern>/index</url-pattern>
    </servlet-mapping>

    Tomcat容器訪問Servlet的步驟:
    1. 客戶端發送請求 http://www.xxx.com/index
    2. Tomcat容器 通過url-pattern 即/index,找到servlet-name,再有此找到servlet-class
    3. 創建Servlet對象,調用init() 方法
    4. Tomcat容器創建request和responce兩個對象作爲參數, 新開一個線程,運行service() 方法
    5. service() 方法內部根據請求的方法,調用不同的方法處理請求

ServletConfig 和 ServletContext

ServletConfig 關於servlet 的一些參數

1. 獲取ServletConfig對象 在doXXX() 方法中調用 getServletConfig() 
2. 獲取在web.xml中配置的參數
    // 根據參數名,獲取參數值
    public String getInitParameter(String name);
    // 獲取所有的參數名
    public Enumeration<String> getInitParameterNames();
    // 獲取ServletContext對象
    public ServletContext getServletContext();
    // 獲取servlet的名字
    public String getServletName();
    <servlet>
        <servlet-name>Index</servlet-name>
        <servlet-class>com.zjl.main.IndexServlet</servlet-class>
     <init-param>
            <param-name>name01</param-name>
            <param-value>value01</param-value>
      </init-param>
    </servlet>

ServletContext

ServletContext 是整個web應用的上下文

  1. 獲取ServletContext對象: 在doXXX() 方法中調用getServletContext() 方法,獲取通過ServletConfig對象調用getServletContext()方法獲取
  2. ServletContext對象中的方法:
    // 獲取在web.xml文件中配置的初始化參數
    public String getInitParameter(String name);
    // 同ServletConfig對象類似
    public Enumeration getInitParameterNames();
<context-param>
    <param-name>context_name</param-name>
    <param-value>context_value</param-value>
  </context-param>
// 訪問資源文件
// 返回資源文件的URL對象,其中path參數必須以 / 開頭,代表應用的根目錄
public URL getResource(String path) throws MalformedURLException;
// 返回資源文件的流對象
public InputStream getResourceAsStream(String path);

// 設置Attribute,保存對象,使其在其他Servlet中也可以被訪問
// 設置屬性
public void setAttribute(String name, Object object);
// 獲取屬性
public Object getAttribute(String name);
public Object getAttribute(String name);
// 移除屬性
public void removeAttribute(String name);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章