简介
Servlet是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。
Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。
主要功能
Servlet 的主要功能在于交互式地浏览和修改数据,生成动态 Web 内容。这个过程为:
1) 客户端发送请求至服务器端;
2) 服务器将请求信息发送至 Servlet;
3) Servlet 生成响应内容并将其传给服务器。响应内容动态生成,通常取决于客户端的请求;
4) 服务器将响应返回给客户端。
Servlet生命周期
生命全过程:
1) 加载Servlet并实例化new
2) 初始化init
3) 处理请求service doGet doPost
4) 退出服务destroy()
注意事项
1) servlet只实例化一次
针对客户端的多次Servlet请求,通常情况下,服务器只会创建一个Servlet实例对象,即Servlet实例对象一旦创建,它就会驻留在内存中,为后续的其他请求服务,直至web容器退出,servlet实例对象才会销毁。
2) init方法只执行一次
在Servlet的整个生命周期内,Servlet的init方法只会被调用一次。而对一个Servlet的每次访问请求都导致Servlet引擎调用一次servlet的service方法。
3) Servlet不是线程安全的
注册与运行
1) Servlet程序必须通过Servlet引擎来启动运行,并且储存目录有特殊要求,通常需要存储在<WEB应用程序目录>\WEB-INF\classes\目录中。如果这个Servlet程序有包名,那么在这个目录下面还要有包名对应的目录结构。
2) Servlet程序必须在WEB应用程序的web文件中进行注册和映射其访问路径,才可以被Servlet引擎加载和被外界访问。
3) 一个<servlet>元素用于注册一个Servlet,它包含有两个主要的子元素:<servlet-name>和<servlet-class>,分别用于设置Servlet的注册名称和Servlet的完整类名(包括包名)。
4) 一个<servlet-mapping>元素用于映射一个已注册的Servlet的一个对外访问路径,它包含有两个子元素:<servlet-name>和<url-pattern>,分别用于指定Servlet的注册名称和Servlet的对外访问路径。
5) 同一个Servlet可以被映射到多个URL上,即多个<servlet-mapping>元素的<servlet-name>子元素的设置值可以是同一个Servlet的注册名。
小结
网上商城中对servlet有所接触,但当时并没有太多讲解。继而到DRP中继续对Servlet的学习,有了更深一步的研究,但仍是没有运用到实际应用中,还是有太多欠缺。以上小结只是停留在理论知识上,还缺少代码实践。接下来就是继续其在代码中的应用,实践研究!