三、Servlet规范介绍

本文介绍了Servlet规范在Java EE中的作用,包括动态资源文件的开发步骤、Http服务器调用规则和对象生命周期。重点讲述了Servlet接口实现类的创建,强调了HttpServlet抽象类降低开发难度的作用,并解析了Servlet对象的生命周期,指出其由Http服务器自动管理。
摘要由CSDN通过智能技术生成

1、Servlet规范

1)javaEE规范中的一种,注意Servlet针对的是动态资源

2)作用:

  • 在Servlet规范中,指定动态资源文件开发步骤

  • 指定了Http服务器调用动态资源文件的规则

  • 指定Http服务器管理动态资源文件实例对象的规则

2、Servlet接口实现类

1)Servlet接口来自于Servlet规范,这个接口存在于Http服务器提供的jar包中

2)Tomcat服务器下lib文件中有一个Servlet-api.jar存放了Servlet接口。接口就是规矩,它是我们写动态资源文件的规矩

3)Servlet规范中,Http服务器能调用的动态资源文件必须是一个Servlet接口实现类

class Student{
//不是正确的动态资源文件
}
class Teacher implements Servlet{
//是正确的动态资源文件,http服务器有权利调用
}

3、Servlet接口实现类开发步骤

1、创建一个java类继承抽象父类HttpServlet,间接成为一个Servlet接口实现类
**为什么不直接实现Servlet接口呢?**直接实现这个接口要重写Servlet中所有的方法,比较麻烦,而继承抽象父类不用全部重写

父抽象类存在的作用只有一个:降低接口实现子类在接口实现过程中的难度。

2、 目前Servlet接口中只有一个方法是有用的,可以被servlet接口实现类使用,那就是service方法。

父亲把servlet中没有用的方法都承担实现了,就把service方法留着出来,它依然是一个抽象方法。

3、实际上,在父类HttpServelt中service已经被重写了(是protected的,子类oneServlet可以直接调用),service方法中回对请求方式进行获取,**针对不同的请求方式会进一步调用相应的this.doXXX方法,因此只需重写当前子类中的doXXX方法。**在父类中就决定在何种情况下调用子类方法-----设计模式:模板设计模式。降低了我们的开发难度。

3、将Servlet接口实现类 注册 到Tomcat服务器中;找到网站module,在webINF文件夹中的web.XML写信息:即将当前Servlet接口实现类类路径地址交给Tomcat

	<servlet>
		<servlet-name>mm</servlet-name>...名字
		<servlet-class>类路径<servlet-class>
	</servlet> 

	为了降低用户访问servlet接口实现类的难度,需要设置简短的请求别名
	<servlet-mapping>
		<servlet-name>mm<servlet-name>
		<url-pattern>/别名<url-pattern>
	</servlet-mapping>

Http服务器如tomact收到对动态资源文件请求后,先new出servlet接口实现类的对象,调用它的service方法,根据请求行中的method选择运行合适的doXXX方法。

4、Servlet对象生命周期

1)网站中所有的Servlet接口实现类的实例对象,只能由Http服务器tomcat自动创建! 开发人员不能手动创建Servlet接口实现类的实例对象

2)在默认的情况下,Http服务器收到对于当前Servlet接口实现类第一次请求时,自动创建这个Servlet接口实现类的实例对象。

3)在手动配置的情况下,可以要求Http服务器在启动时就自动创建某个实例对象。

<servlet></servlet>中写入
	<servlet-name>mm</servlet-name>...名字
	<servlet-class>类路径<servlet-class>
	<load-on-startup>一个大于0的整数即可</load-on-startup> 
	 mm这个接口实现类就会在启动时就new

4)在Http服务器运行期间,一个Servlet接口实现类只能创建出一个实例对象。不管有多少的浏览器用户申请访问这个类、访问这个类多少次。

4、在Http服务器关闭时,它会自动将所有的Servlet实例对象进行销毁

Servlet3.1规范(最终版) JavaTM Servlet 规范 版本 3.1(最终版) Shing Wai Chan Rajiv Mordani [作者] 穆茂强 张开涛 [译者] 2012年6月翻译 2013年7月修订 目录 前言 ............................... 3 其他资料 ............................................................................................................................................................ 3 谁应该读此规范 ................................................................................................................................................ 3 API规范 ............................................................................................................................................................3 其他的 Java 平台规范 ....................................................................................................................................... 3 其他重要参考资料 ............................................................................................................................................ 4 提供反馈 ............................................................................................................................................................ 4 专家组成员 ........................................................................................................................................................ 5 答谢 .................................................................................................................................................................... 5 目录 ............................... 6 概览 .............................. 13 1.1 1.2 1.3 1.4 1.5 1.6 什么是 Servlet? .................................................................................................................................. 13 什么是Servlet容器?...............................................................................................................................13 例子...........................................................................................................................................................13 Serv
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值