Servlet 隨記:
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 隨記: