Servlet的概述
servlet是JavaWeb三大組件之一,屬於動態資源。其作用的處理請求,服務器會把接收到的請求交給servlet來處理。
通常需要:
- 接受請求數據
- 處理請求
- 完成迴應
sevelet需要tomcat調用,但是需要自己編寫servlet,每個servlet必須實現javax.servlet.Servlet接口。
servlet的編寫
package cn.itcode.code;
import java.io.IOException;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class servletDome implements Servlet {
public void destroy() {
}
public ServletConfig getServletConfig() {
return null;
}
public String getServletInfo() {
return null;
}
public void init(ServletConfig arg0) throws ServletException {
}
public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
}
}
在寫servlet時,需要實現javax.servlet.Servlet並重寫Servlet接口中的方法。由上可以看出,Servlet接口有五個方法。下面將會對這五個方法一一介紹。
介紹:在這五個方法中有三個是屬於生命週期方法:
第一個方法:
public void init(ServletConfig arg0) throws ServletException {
}
這個方法是在servlet創建對象之後立馬被調用,可以用這個方法來獲取初始化參數或者獲取全部的初始化參數名稱,但是隻能執行一次。
第二個方法:
public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
}
}
它會被調用多次,每次處理請求都是在調用這個方法!
第三個方法:
public void destroy() {
}
這個方法是在在Servlet被銷燬之前調用,並且它只會被調用一次!可使用它銷燬一些進程等。但是這個方法不常用,java已經自帶垃圾處理器了。
第四個方法:
public ServletConfig getServletConfig() {
return null;
}
獲取servlet的配置信息
第五個方法:
public String getServletInfo() {
return null;
}
獲取Servlet的信息
在上面這個方法中,前三個屬於生命週期方法。
那再寫好servlet之後,這麼去執行servlet呢?
這是需要修改web.xml配置文件中的代碼了。
打開WEB-INF》WEB-INF,在裏面找到web.xml。若沒有可以自己寫或者去tomcat裏面借一個過來。點擊打開在裏面寫入:
<servlet>
<servlet-name>自定義名稱</servlet-name>
<servlet-class>項目中類所在路徑</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>與自定義名稱相同名</servlet-name>
<url-pattern>/自定義訪問路徑</url-pattern>
</servlet-mapping>
在瀏覽器運行時,先是解析到 <url-pattern>/自定義訪問路徑</url-pattern>,後面解析到<servlet-name>與自定義名稱相同名</servlet-name>,在獲取到“與自定義名稱相同名”後映射到與之名稱相同的<servlet-name>自定義名稱</servlet-name>(通過名稱相同的方式進行連接訪問)。最後才訪問到 <servlet-class>項目中類所在路徑</servlet-class>。也就是訪問我們所寫的servlet服務。
完結!!!!!
下節在續QAQ