Servlet规范
一、Servlet规范介绍:
1.servlet规范来自于JAVAEE规范中的一种
2.作用:
1)在Servlet规范中,指定【动态资源文件】开发步骤。
2)在Servlet规范中,指定Http服务器调用动态资源文件规则。
3)在Servlet规范中,指定Http服务器管理动态资源文件实例对象规则。
二、Servlet接口实现类:
1.Servlet接口来自于Servlet规范下的一个接口,这个接口存在Http服务器提供
jar包
2.Tomcat服务器下lib文件有一个servlet-api.jar存放Servlet接口(javax.Servlet.Servlet接口)
3.Servlet规范中认为,Http服务器能调用的【动态资源文件】必须是一个Servlet接口实现类
例子:
class Student {
//不是动态资源文件,Tomcat无权调用
}
class Teacher implements Servlet {
//合法动态资源文件,Tomcat有权调用
Servlet obj = new Teacher();
obj.doGet();
}
三、Servlet接口实现类开发步骤:
第一步:创建一个Java类继承与HttpServlet父类,使之成为一个Servlet接口实现类
第二步:重写HttpServlet父类两个方法。doGet 或者doPost
get
浏览器------>oneServlet.doGet();
post
浏览器------>oneServlet.doPost();
第三步:将Servlet接口实现类信息【注册】到Tomcat服务器
【网站】 ---- > 【web】 -----> 【web-INF】---->web.xml
<!-- 将Servlet接口实现类类路径地址交给Tomcat-->
<servlet>
<servlet-name></servlet-name><!--声明一个变量存储servlet接口实现类类路径-->
<servlet-class>com.bjpowernode.controller.oneServlet</servlet-class><!--声明servlet接口>
</servlet>
Tomcat String mm = "com.bjpowernode.controller.oneServlet";
<!--为了降低用户访问Servlet接口实现类难度,需要设置简短请求别名-->
<servlet-mapping>
<servlet-name>mm</servlet-name>
<url-pattern>/one</url-pattern> <!--设置简短请求别名,别名在书写时必须以"/"为开头-->
</servlet-mapping>
如果现在浏览器向Tomcat索要OneServlet地址时:
http://localhost:8080/myWeb/one
四、Servlet对象生命周期:
1.网站中所有Servlet接口实现类的实例对象,只能由Http服务器负责创建。
开发人员不能手动创建Servlet接口实现类的实例对象。
2.在默认的情况下,Http服务器接收到对于当前Servlet接口实现类第一次请求
时自动创建这个Servlet接口实现类的实例对象。
在手动配置情况下,要求Http服务器在启动时自动创建某个Servlet接口实现
类的实例对象。
<servlet>
<servlet-name></servlet-name><!--声明一个变量存储servlet接口实现类类路径-->
<servlet-class>com.bjpowernode.controller.oneServlet</servlet-class><!--声明servlet接口>
<load-on-startup>30</load-on-startup><!--填写一个大于0的整数即可-->
</servlet>
3.在Http服务器运行期间,一个Servlet接口实现类只能被创建出一个实例对象
4.在Http服务器关闭时刻,自动将网站中所用的Servlet对象进行销毁
五、HttpServletResponse接口
1.介绍:
1)HttpServletResponse接口来自于Servlet规范中,在Tomcat中存在servlet-api.jar
2)HttpServletResponse接口实现类由Http服务器负责提供
3)HttpServletResponse接口负责将doGet/doPost方法执行结果写入到【响应体】交给浏览器
4)开发人员习惯于