1. 程式人生 > >Servlet 隨記:

Servlet 隨記:

context 應用 配置 rem 一次 ext.get rri 執行 ram

API

1)init(ServletConfig config)
何時執行:servlet對象創建的時候執行
ServletConfig : 代表的是該servlet對象的配置信息

2)service(ServletRequest request,ServletResponse response)
何時執行:每次請求都會執行
ServletRequest :代表請求 認為ServletRequest 內部封裝的是http請求的信息
ServletResponse :代表響應 認為要封裝的是響應的信息

3)destroy()
何時執行:servlet銷毀的時候執行

Servlet配置:
<servlet>
<servlet-name>abc</servlet-name>
<servlet-class>完全類名</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>abc<servlet-name>
<url-pattern>請求路徑</url-pattern>
</servlet-mapping>

其中url-pattern的配置方式:
1)完全匹配 訪問的資源與配置的資源完全相同才能訪問到
<url-pattern>/請求路徑</url-pattern>

2)目錄匹配 格式:/虛擬的目錄../* *代表任意
<url-pattern>/abc/abc/*</url-pattern>

3)擴展名匹配 格式:*.擴展名
<url-pattern>*.abc</url-pattern>


3.缺省Servlet
可以將url-pattern配置一個/,代表該servlet是缺省的servlet
什麽是缺省的servlet?
當你訪問資源地址所有的servlet都不匹配時 , 缺省的servlet負責處理

其實,web應用中所有的資源的響應都是servlet負責,包括靜態資源


servletContext:

1)ServletContext servletContext = config.getServletContext();
2)ServletContext servletContext = this.getServletContext();

servletContext:域對象作用:獲取全局初始化參數
<context-param>
<param-name>driver<param-name>
<param-vallue>com.mysql.jdbc.Driver<param-value>
</context-param>

servletContext.getInitParamter(driver);


獲得web應用中任何資源的絕對路徑(重要 重要 重要)
方法:String path = context.getRealPath(相對於該web應用的相對地址);

(1)ServletContext是一個域對象(重要 重要 重要)
什麽是域對象?什麽是域?
存儲數據的區域就是域對象

ServletContext域對象的作用範圍:整個web應(所有的web資源都可以隨意向 servletcontext域中存取數據,數據可以共享)


域對象的通用的方法:
setAtrribute(String name,Object obj);
getAttribute(String name);
removeAttribute(String name);

第一次寫博客,希望能記錄我的技術成長

Servlet 隨記: