1. 程式人生 > >Web學習日記_07:servlet的學習之servlet的概述以及方法

Web學習日記_07:servlet的學習之servlet的概述以及方法

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