JavaScript是一種腳本語言,它采用小程序段的方式實現編程。像其它腳本語言一樣,Jav
aScript同樣已是一種解釋性語言,它提供了一個易的開發過程。
它的基本結構形式與C、C++、VB十分類似。但它不像這些語言一樣,需要先編譯,而是在
程序運行過程中被逐行地解釋。它與HTML標識結合在一起,從而方便用戶的使用操作。
2. 基于對象的語言。
JavaScript是一種基于對象的語言,同時以可以看作一種面向對象的。這意味著它能運用
自己已經創建的對象。因此,許多功能可以來自于腳本環境中對象的方法與腳本的相互作
用。
servlet學習
- 客戶端發送請求至服務器
- 服務器啟動并調用Servlet,Servlet根據客戶端請求生成響應內容并將其傳給服務器
- 服務器將響應返回客戶端
Servlet API 包含以下4個Java包:
1.javax.servlet 其中包含定義servlet和servlet容器之間契約的類和接口。
2.javax.servlet.http 其中包含定義HTTP Servlet 和Servlet容器之間的關系。
3.javax.servlet.annotation 其中包含標注servlet,Filter,Listener的標注。它還為被標注元件定義元數據。
4.javax.servlet.descriptor,其中包含提供程序化登錄Web應用程序的配置信息的類型。
GenericServlet實現servlet接口
Servlet技術的核心是Servlet,它是所有Servlet類必須直接或者間接實現的一個接口。在編寫實現Servlet的Servlet類時,直接實現它。在擴展實現這個這個接口的類時,間接實現它。
在一個應用程序中,每種Servlet類型只能有一個實例。
Servlet容器將Servlet類載入內存,并產生Servlet實例和調用它具體的方法
用戶請求致使Servlet容器調用Servlet的Service()方法,并傳入一個ServletRequest對象和一個ServletResponse對象。ServletRequest對象和ServletResponse對象都是由Servlet容器(例如TomCat)封裝好的,并不需要程序員去實現,程序員可以直接使用這兩個對象。
ServletRequest中封裝了當前的Http請求,因此,開發人員不必解析和操作原始的Http數據。ServletResponse表示當前用戶的Http響應,程序員只需直接操作ServletResponse對象就能把響應輕松的發回給用戶。
對于每一個應用程序,Servlet容器還會創建一個ServletContext對象。這個對象中封裝了上下文(應用程序)的環境詳情。每個應用程序只有一個ServletContext。每個Servlet對象也都有一個封裝Servlet配置的ServletConfig對象。
init( ),service( ),destroy( )是Servlet生命周期的方法
|
其中,init( ),service( ),destroy( )是Servlet生命周期的方法。代表了Servlet從“出生”到“工作”再到“死亡 ”的過程。Servlet容器(例如TomCat)會根據下面的規則來調用這三個方法: 1.init( ),當Servlet第一次被請求時,Servlet容器就會開始調用這個方法來初始化一個Servlet對象出來,但是這個方法在后續請求中不會在被Servlet容器調用,就像人只能“出生”一次一樣。我們可以利用init( )方法來執行相應的初始化工作。調用這個方法時,Servlet容器會傳入一個ServletConfig對象進來從而對Servlet對象進行初始化。 2.service( )方法,每當請求Servlet時,Servlet容器就會調用這個方法。就像人一樣,需要不停的接受老板的指令并且“工作”。第一次請求時,Servlet容器會先調用init( )方法初始化一個Servlet對象出來,然后會調用它的service( )方法進行工作,但在后續的請求中,Servlet容器只會調用service方法了。 3.destory,當要銷毀Servlet時,Servlet容器就會調用這個方法,就如人一樣,到時期了就得死亡。在卸載應用程序或者關閉Servlet容器時,就會發生這種情況,一般在這個方法中會寫一些清除代碼。 首先,我們來編寫一個簡單的Servlet來驗證一下它的生命周期: |
一小段servlet代碼測試
public class MyFirstServlrt implements Servlet {
@Override
public void init(ServletConfig servletConfig) throws ServletException {
System.out.println("Servlet正在初始化");
}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
//專門向客服端提供響應的方法
System.out.println("Servlet正在提供服務");
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
System.out.println("Servlet正在銷毀");
}
}
浙公網安備 33010602011771號