1.Servlet的HelloWorld
1).创建一个Servlet 接口的实现类
public class HelloServlet implements Servlet
2).在web.xml文件中配置和映射这个Servlet
<!--配置和映射Servlet -->
<servlet>
<!-- Servlet注册的名字 -->
<servlet-name>helloServlet</servlet-name>
<!-- Servlet全类名 -->
<servlet-class>com.atguigu.javaweb.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<!-- 需要和某一个 Servlet 节点的 servlet-name 子节点一致 -->
<servlet-name>helloServlet</servlet-name>
<!-- 映射具体的访问路径:/ 代表当前WEB 应用的根目录 -->
<url-pattern>/hello</url-pattern>
</servlet-mapping>
2.Servlet 容器:运行Servlet、JSP、Filter、等的软件环境。
1).可以用来创建Servlet,并调用Servlet的相关生命周期方法
2).JSP,Filter,Listener,Tag ...
3.Servlet 生命周期的方法:以下方法都是由Servlet容器负责调用。
1).构造器:只被调用一次,第一次请求Servlet时,创建Servlet的实例,调用构造器。
这说明 Servlet是单实例的!
2).init 方法:只被调用一次,在创建好实例后立即被调用,用于初始化当前的Servlet.
3).service:被多次调用,每次请求都会调用Service方法,实际用于响应请求的。
4).destory:只被调用一次,在当前Servlet所在的WEB应用被卸载前调用,用于释放当前Servlet所占用的资源。
4.load-on-startup 参数:
1).配置在Servlet节点中:
<servlet>
<!-- Servlet注册的名字 -->
<servlet-name>secondServlet</servlet-name>
<!-- Servlet全类名 -->
<servlet-class>com.atguigu.javaweb.SecondServlet</servlet-class>
<!-- 可以指定Servlet被创建的时机 -->
<load-on-startup>2</load-on-startup>
</servlet>
2).load-on-startup:
可以指定Servlet被创建的时机,若为负数,则在第一次请求时被创建,若为0或正数,
则在当前WEB应用被Servlet容器加载时创建实例,且数字越小越早被创建。