一.起步web
1.新建一個類繼承Servlet接口瀏覽器
public class HelloServlet implements Servlet { @Override public void destroy() { System.out.println("Destroy..."); } @Override public ServletConfig getServletConfig() { System.out.println("getServletConfig..."); return null; } @Override public String getServletInfo() { System.out.println("getServletInfo..."); return null; } @Override public void init(ServletConfig arg0) throws ServletException { System.out.println("init..."); } @Override public void service(ServletRequest req, ServletResponse resp) throws ServletException, IOException { System.out.println("service..."); resp.getWriter().println("Hello World..."); } public HelloServlet() { System.out.println("HelloServlet Constructor..."); } }
2.配置web.xmltomcat
<servlet> <servlet-name>helloServlet</servlet-name> <servlet-class>com.bwr.start.HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>helloServlet</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping>
說明:部署在tomcat(本地)上,默認訪問地址爲http://localhost:8080/project_name/hello, 瀏覽器頁面顯示"hello world..."app
二. Servlet容器ide
1.能夠建立Servlet,並調用Servlet的相關生命週期方法url
2.Servlet, JSP, Filter, Listener都在容器內運行spa
三. Servlet的生命週期code
1.生命週期相關方法(如下方法都是由servlet容器負責調用)xml
Servlet構造器:只被調用一次,只有第一次請求Servlet時,建立Servlet實例,調用構造器。對象
說明Servlet是單例的。
init():只被調用一次,在建立號實例後當即被調用,用於初始化當前Servlet,此方法會傳入一個ServletConfig參數。
service():會被屢次調用。每次請求都會調用service方法,用於響應請求。
destroy():只被調用一次。在當前Servlet所在的WEB應用被卸載前調用,用於釋放當前Servlet佔用的資源。
2. load-on-startup配置
a. 配置在web.xml中servlet標籤中,用於指定Servlet建立的時機.
b. load-on-startup取值:若爲負數則在第一次請求時被建立;若爲0或整數,則在當前應用被web容器加載時建立實例,值越小,加載的時機越早。
<servlet> <servlet-name>helloServlet</servlet-name> <servlet-class>com.bwr.start.HelloServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet>
3. Servlet配置細節
a. 一個Servlet能夠有多個servlet-mapping配置映射
b. <url-pattern> 配置能夠使用通配符,可是隻容許兩種形式
<url-pattern>/*</url-pattern> 有"/"不容許加擴展名
<url-pattern>*.do</url-pattern> 有擴展名不容許加"/"
三. Servlet相關的類
1. ServletConfig
封裝了Servlet得配置信息,而且能夠獲取ServletContext對象。
2. ServletContext
Servlet引擎爲每一個WEB應用程序都建立一個對應的ServletContext對象,在Servlet中能夠經過ServletConfig的getServletContext()方法獲取。
3. ServletRequest
4. ServletResponse