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

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章