1.概述:
Servlet是sun公司提供的一门用于开发动态web资源的技术。
Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源
(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤:
1.编写一个Java类,实现servlet接口。
2.把开发好的Java类部署到web服务器中。按照一种约定俗成的称呼习惯,通
常我们也把实现了servlet接口的java程序,称之为Servlet。
Servlet是JavaWeb的三大组件之一,它属于动态资源。Servlet的作用是处理请求,
服务器会把接收到的请求交给Servlet来处理,在Servlet中通常需要:
1.接收请求数据;
2.处理请求;
3.完成响应.
2.Servlet原理分析:
生命周期: Servlet从创建到销毁的一个过程
1. 系统默认在用户第一次发送对这个servlet的请求时, 对服务器发起一个请求.
服务器会判断是不是第一次访问这个serlvet,如果是,截取用户的请求路径,
aa, 通过aa在配置文件中找到和aa对应的serlvet-name,FirstServlet,在
通过FirstServlet寻找到FirstServlet对应的class路径,
com.itcast.servlets.FrisrServlet
2. tomcate服务器加载FirstServlet对应的字节码到内存中.用反射创建这个字节码对应
的一个实例. 调用FirstServlet的构造函数.
3. 创建好FirstServlet的实例之后,调用init方法,而且是只调用一次.
4. 调用FirstServlet下的service方法对用户进行相应. 当用户后期不停的访问这个
FirstServlet时,只要是发送对这个FirstServlet的请求,那么FirstServlet都会用
Service方法对请求进行响应
5. 当服务器关闭的时候,调用FirstServlet下的destroy方法,而且仅调用一次.之后
FirstServlet对应的生成的实例从内存中退出.生命周期结束
3.GenericServlet
1.为什么要有GenericServlet?
我们在项目中实现一个动态资源,有时候更多的时候关注如何响应.没有必要
关注太多的其他方法,例如servlet接口中的destroy,init…. 如果通过实现serlvet
接口的方式来实现Servlet资源文件,比较麻烦.所以有了GenericServlet.通过
GenericServlet实现Servlet动态资源,我们只需要重些service方法即可
2.GenericServlet深入研究
l GenericSevlet实现了3个接口Servlet,ServletConfig,Serializable
l GenericServlet实现了SerletConfig接口下的4个方法.
在GenericServlet中提供了一个成员变量:ServletConfig
GericServlet重些了Servlet接口下的init()方法,并且在这个方法
中,将tomcate服务器传递过来的config对象赋值给了GericServlet
下的实例成员
l GericServlet重些了Servlet接口的getServletConfig()方法,这个方法
就将GericServlet下的成员变量configServlet返回.