目錄
什麼是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的配置方式:
- 完全匹配 訪問的資源與配置的資源完全相同才能訪問到
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對象
- ServletContext servletContext = config.getServletContext();
- 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);
多內容下載機器學習資料請掃描下方二維碼關注小編公衆號:程序員大管