#1.新建一個類,該類繼承Servlet,並在每一個類裏面輸出一條信息java
package com.test.javaweb; 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 HelloServlet implements Servlet { @Override public void destroy() { // TODO Auto-generated method stub System.out.println("destroy"); } @Override public ServletConfig getServletConfig() { // TODO Auto-generated method stub System.out.println("getServletConfig"); return null; } @Override public String getServletInfo() { // TODO Auto-generated method stub System.out.println("getServletInfo"); return null; } @Override public void init(ServletConfig arg0) throws ServletException { // TODO Auto-generated method stub System.out.println("init"); } @Override public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException { // TODO Auto-generated method stub System.out.println("service"); } public HelloServlet() { super(); // TODO Auto-generated constructor stub System.out.println("Constuctor"); } }
#2.在web.xml裏面配置映射web
<!-- 配置映射 --> <servlet> <servlet-name>helloServlet</servlet-name> <servlet-class>com.test.javaweb.HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>helloServlet</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping>
解釋:
2.1 <servlet>與 <servlet-mapping>必需要成對出現
2.2 <url-pattern>中"/"表示WEB應用根目錄,本示例爲http://localhost:8080/TestJavaWeb
2.3 在根目錄後面配上hello,即http://localhost:8080/TestJavaWeb/hello,該路徑經過<servlet-name>映射找到其對應的類,即請求http://localhost:8080/TestJavaWeb/hello這個路徑,能夠找到com.test.javaweb.HelloServlet這個類,執行該類中的方法。 #3.執行該類方法
Servlet要實現的事情簡單的理解爲:經過一個路徑找到某個類,執行該類中的方法。
請求http://localhost:8080/TestJavaWeb,找到com.test.javaweb.HelloServlet這個類,執行該類中的方法。
請求輸出app
Constuctor init service
因而可知,先執行構造器,在執行初始化方法,最後執行服務方法。ide