Servlet的HelloWorld
1).创建一个Servlet接口的实现类
Public class HelloServlet implements Servlet
2).在web.xml 文件中配置和映射Servlet
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
3.Servlet 容器: 运行Servlet,JSP,Filter等的软件环境
1).可以来创建Servlet,并调用Servlet的相关生命周期方法
2).JSP,Filter,Listener,Tag.....
Servlet生命周期的方法: 以下方法都是由Servlet容器负责调用
1).构造器:只被调用一次 只有第一次请求 Servlet时 创建Servlet的实例 调用构造器
说明Servlet 的单实例的
2).init 方法 只被调用一次 创建好实例后 立即被调用 用于初始化 当前Servlet
3).service 被多次调用 每次请求都会调用service方法 实际用于响应请求的
4).destroy 只被调用一次 关闭服务器时 启用
在当前Servlet所在WEB应用被卸载钱调用 用于释放当前Servlet 所占用的资源
5.load-on-startup 参数
<load-on-startup></load-on-startup>
1) 配置在Servlet节点中
<servlet>
<!-- Servlet注册的名字 -->
<servlet-name>MyServlet</servlet-name>
<!--Servlet的全类名--> (右键Copy Reference或者Ctrl+Shift+Alt+C)
<servlet-class>HelloServlet</servlet-class>
<!--可以指定Servlet 被创建的时机-->
<load-on-startup>2</load-on-startup>
</servlet>
2). load-on-startup: 可以指定Servlet被创建的时机 若为负数,则在第一次请求时被创建,若为0或正数则在当前WEB应用被Servlet容器加载时创建实例,且数值越小数值越早被创建
关于servlet-mapping
1). 同一个Servlet可以被映射到多个URL上,即多个<servlet-mapping>元素的<servlet-name>子元素的设置值可以是同一个Servlet的注册名
2). 在Servlet映射到的URL中也可以使用*通配符,但是只能有两种固定的格式,一种格式是"*.扩展名",另一种格式是以正斜杠(/)开头并以“/*”结尾
获取初始化参数
>getInitParameter(String name): 获取指定参数名的初始化参数
>getInitParameterNames():获取参数名组成的Enumeration对象