JavaWeb的核心技術—Servlet

目錄

 

什麼是Servlet(Servlet可以用來做什麼)

Servlet如何使用

Servlet的生命週期

缺省的Servlet

什麼是缺省的servlet?

servletContext對象

1,什麼是ServletContext對象

2,ServletContext對象的生命週期

3,怎樣獲得ServletContext對象

4,ServletContext的作用


什麼是Servlet(Servlet可以用來做什麼)

Servlet是java中的一個類,運行在服務端,是sun公司提供的一套規範。主要用來處理客戶端請求、響應給瀏覽器動態資源。通俗的說Servlet是通過java的API動態的向客戶端輸出內容。

Servlet如何使用

1.創建servlet並且繼承HttpServlet。

2.實現其中的service方法。

3.在web.xml文件中進行資源配置。

        創建servlet類的代碼如下:

package com.ahut.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class servlet_test2 extends HttpServlet {

	/**
	 * Constructor of the object.
	 */

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		response.getWriter().write("hello");

	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

	}
}

在web.xml文件中對其進行配置:

<servlet>
    <servlet-name>servlet_test2</servlet-name>
    <servlet-class>com.ahut.servlet.servlet_test2</servlet-class>
</servlet>
 <servlet-mapping>
    <servlet-name>servlet_test2</servlet-name>
    <url-pattern>/servlet_test2</url-pattern>
  </servlet-mapping>

其中<url-pattern>/servlet_test2</url-pattern>這裏面的內容是我們在瀏覽器中的訪問地址,這個地址映射的名字是servlet_test2,然後根據這個名字找所對應的類即:<servlet-class>com.ahut.servlet.servlet_test2</servlet-class>,這樣就可以訪問servlet了。

其中url-pattern的配置方式:

  1. 完全匹配 訪問的資源與配置的資源完全相同才能訪問到
 
 


2)目錄匹配 格式:/虛擬的目錄../*   *代表任

 
 


3)擴展名匹配 格式:*.擴展名

 
 

 

 

 

Servlet的生命週期

在Servlet中有init()方法,用來初始化servlet,它在servlet對象被創建的時候執行。service()方法,這個是主要的方法,裏面含有request請求信息和response響應信息,每一次訪問它都會執行。destory()方法,該方法是銷燬servlet,只有當servlet被銷燬時會執行。所以servlet的生命週期是,默認第一次訪問servlet時創建對象,服務器關閉時servlet就被銷燬了,每次訪問時都要執行service方法。

在web.xml中可以設置servlet啓動的優先級,使用<load-on-startup>來設置,中間的數字表示優先級。

缺省的Servlet

可以將url-pattern配置一個/,代表該servlet是缺省的servlet

什麼是缺省的servlet?

當你訪問資源地址所有的servlet都不匹配時 , 缺省的servlet負責處理

其實,web應用中所有的資源的響應都是servlet負責,包括靜態資源

servletContext對象

1,什麼是ServletContext對象

ServletContext代表是一個web應用的環境(上下文)對象,ServletContext對象    內部封裝是該web應用的信息,ServletContext對象一個web應用只有一個,一個web應用有多個個servlet對象。

2,ServletContext對象的生命週期

創建:該web應用被加載(服務器啓動或發佈web應用(前提,服務器啓動狀態))

銷燬:web應用被卸載(服務器關閉,移除該web應用)

3,怎樣獲得ServletContext對象

  1. ServletContext servletContext = config.getServletContext();
  2. ServletContext servletContext = this.getServletContext()

4,ServletContext的作用

 獲得web應用全局的初始化參數

獲得web應用中任何資源的絕對路徑(非常重要)

        方法:String path = context.getRealPath(相對於該web應用的相對地址);

ServletContext是一個域對象(非常重要)

         ServletContext域對象的作用範圍:整個web應(所有的web資源都可以隨意向    servletcontext域中存取數據,數據可以共享)

   域對象的通用的方法:

   setAtrribute(String name,Object obj);

   getAttribute(String name);

   removeAttribute(String name);

多內容下載機器學習資料請掃描下方二維碼關注小編公衆號:程序員大管

 

 

 

 

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