JavaWeb核心——Servlet
阿新 • • 發佈:2018-02-14
startup 規範 width 所有 內容 spa 虛擬路徑 app art 在第一次訪問的時候執行該方法。
Servlet簡介
Servlet是sun公司提供一套規範(接口),用來處理客戶端請求、響應給瀏覽器的動態資源。但servlet的實質就是java代碼,通過java的API 動態的向客戶端輸出內容。
使用
- 創建類,實現Servlet接口
- 重寫接口中的方法(service方法)
- 在web.xml進行servlet的配置
Servlet獲取請求的過程
在解析請求的資源地址時幹的事
1、servlet的生命周期
Servlet接口中的方法
1)init(ServletConfig config)
- ServletConfig : 代表的是該servlet對象的配置信息
在servlet對象創建的時候執行,默認
2)service(ServletRequest request,ServletResponse response)
- ServletRequest :代表請求 認為ServletRequest 內部封裝的是 http請求的信息
- ServletResponse :代表響應 認為要封裝的是響應的信息
每次請求都會執行
3)destroy()
在servlet銷毀的時候執行(關閉服務器時)
2、servlet的配置
1、基本配置
<!--servlet類的配置--> <servlet> <servlet-name>abc</servlet-name> <servlet-class>cn.x5456.demo.Myservlet</servlet-class> </servlet> <!--servlet虛擬路徑的配置--> <servlet-mapping> <servlet-name>abc</servlet-name> <url-pattern>/abc123</url-pattern> </servlet-mapping>
2、url-pattern的配置方式
1)完全匹配:訪問的資源與配置的資源完全相同才能訪問到
2)目錄匹配 格式:/虛擬的目錄../* *代表任意
3)擴展名匹配 格式:*.擴展名
註意:第二種與第三種不要混用:/aaa/bbb/*.abcd(錯誤的)
3、配置實例化Servlet的時間
上面說了,默認在第一次訪問的時候執行init方法,我們可以在web.xml加上一個配置 <load-on-startup> servle,使t對象在服務器啟動時就創建。
<servlet> <servlet-name>abc</servlet-name> <servlet-class>cn.x5456.demo.Myservlet</servlet-class> <load-on-startup>3</load-on-startup> <!--運行起來3秒後,執行相應類的init方法--> </servlet>
4、缺省Servlet
可以將url-pattern配置一個/,代表該servlet是缺省的servlet,缺省servlet就是,當你訪問資源地址所有的servlet都不匹配時 , 缺省的servlet負責處理
<!--servlet虛擬路徑的配置--> <servlet-mapping> <servlet-name>abc</servlet-name> <url-pattern>/</url-pattern> <!--沒人要的,我全要--> </servlet-mapping>
其實,web應用中所有的資源的響應都是servlet負責,包括靜態資源
5、歡迎頁面
當訪問“/”時,默認訪問的是上一層的各種index.*文件(原因:在全局的web.xml文件中配置了)
JavaWeb核心——Servlet