- 第一點:
在Servlet中,Servlet是一個接口,在Servlet中的init方法用來初始化這個Servlet,其中方法參數ServletConfig也是一個接口。然后呢,javax.servlet包為了我們提供了一個抽象類GenericServlet來實現這2個接口,然后HttpServlet抽象類繼承GenericServlet,我們如果底層來寫自己的Servlet也就是來繼承這個抽象類。為什么HttpServlet沒有抽象方法但是它卻被定義成是一個抽象類呢?個人覺得是這里的HttpServlet只是一個模板,將service方法也就是提供服務的方法具體的抽象成了doXXX等方法,所以這里定義成抽象類,我們開發自己的Servlet的時候具體的講doXXX重寫就OK。
- 第二點:
最后,我們自己寫一個自己的Servlet來看看里面具體的對象吧。
package linkin; 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 LinkinServlet implements Servlet { @Override public void destroy() { } @Override public ServletConfig getServletConfig() { return null; } @Override public String getServletInfo() { return null; } @Override public void init(ServletConfig arg0) throws ServletException { System.out.println(arg0); } @Override public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException { System.out.println(arg0); System.out.println(arg1); } }
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <servlet> <servlet-name>LinkinServlet</servlet-name> <servlet-class>linkin.LinkinServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>LinkinServlet</servlet-name> <url-pattern>/LinkinServlet</url-pattern> </servlet-mapping> </web-app>
- 第三點:Servlet的注冊與運行
Servlet程序必須通過Servlet容器來啟動運行,並且儲存目錄有特殊要求,通需要存儲在<WEB應用程序目錄>\WEB-INF\classes\目錄中。 Servlet程序必須在WEB應用程序的web.xml文件中進行注冊和映射其訪問路徑,才可以被Servlet引擎加載和被外界訪問。一個<servlet>元素用於注冊一個Servlet,它包含有兩個主要的子元素:<servlet-name>和<servlet-class>,分別用於設置Servlet的注冊名稱和Servlet的完整類名。 一個<servlet-mapping>元素用於映射一個已注冊的Servlet的一個對外訪問路徑,它包含有兩個子元素:<servlet-name>和<url-pattern>,分別用於指定Servlet的注冊名稱和Servlet的對外訪問路徑。
最后這里以2張圖片結束本篇博客:
1,tomcat的目錄層次結構,前面博客也有詳細整理,這里只做復習
2,Servlet規范中定義了web應用程序的目錄層次