Servlet
Servlet规范
-
Servlet规范是JavaEE规范中的一种
-
作用
- 在Servlet规范中,指定了动态资源文件的开发步骤
- 在Servlet规范中,指定了Http服务器调用动态资源文件的规则
- 在Servlet规范中,指定了Http服务器管理动态资源文件实例对象的规则
Servlet接口实现类
- Servlet接口来自于Servlet规范下的一个接口,这个接口存在于Http服务器提供的jar包
- Tomcat服务器下lib文件下的Servlet-api.jar存放Servlet接口(javax.servlet.Servlet接口)
- Servlet规范中,Http服务器能调用的动态资源文件必须是一个Servlet接口实现类
Servlet接口实现类开发步骤
- 创建一个java类继承HttpServlet父类,使之成为一个Servlet接口实现类
- 父类HttpServlet对这个java类需要调用的service()方法进行了重写(doGet,doPost)
- 动态资源类通过调用父类中的service()方法决定是调用doGet()方法还是doPost()方法,来回应浏览器的请求
-
重写HttpServlet父类的两个方法:doGet(),doPost()
-
将Servlet接口实现类信息“注册”到Tomcat服务器
- 在WBE INF文件夹下的web.xml中编辑以下代码
<servlet>
<servlet-name>名字</servlet-name> //Tomcat String 名字 ="com.example.xxx"
<servlet-class>com.example.xxx</servlet-class>
</servlet>
//为servlet接口实现类取一个简单的别名
<servlet-mapping>
<servlet-name>名字</servlet-name>
<url-pattern>/别名</url-pattern> //别名必须以"/"开头
</servlet-mapping>
Servlet的生命周期
-
Servlet接口实现类的实例对象都是由Http服务器自动创建的,开发人员无法手动创建
-
在Http服务器运行期间,每一个Servlet接口实现类只能创建一个实例对象
-
默认情况下,Http服务器在第一次接收到Servlet接口实现类时会创建这个类的实例对象
希望Http服务器在启动的时候就创建接口实现类的实例对象则在web.xml文件中的
<servlet>
标签内输入以下命令:
<load-on-startup>[此处输入一个大于0的整数]</load-on-startup>
-
在Http服务器关闭的时候,会将所有的Servlet接口实现类实例对象销毁