#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