Serverlet学习笔记
1 .首先,什么是Servlet??
?????? Servlet是一个Java编写的程序,此程序是在服务器端运行的,是按照Servlet规范编写的一个Java类。?
?? 2.Servlet是做什么的??
?????? Servlet是处理客户端的请求并将其发送到客户端。?
?? 3.Servlet API?
?? 1>Servlet框架的组成?
??????? Servlet框架是由2个Java包组成:(1)javax.servlet和(2)javax.servlet.http?
?????? (1)javax.servlet包中定义了所有Servlet类都必须实现的接口和类。?
????????? javax.servlet包的接口为:?
??????????????????????????? ServletConfig接口? ---- 在初始化过程中由Servlet容器使用?
??????????????????????????? ServletContext接口? ---- 定义Servlet用于获取容器信息的方法?
??????????????????????????? ServletRequest接口 ---- 向服务器请求信息?
??????????????????????????? ServletResponse接口 ----? 响应客户端请求?
???????????????????????????? Servlet接口? ---- 定义所有Servlet必须实现的方法?
????????? javax.servlet包中的类为:?
????????????????????????????? ServletInputStream类? ---- 用于从客户端读取二进制数据?
????????????????????????????? ServletOutputStream类? ---- 用于将二进制数据发送到客户端?
?????????????????????????????? GenericServlet类? ---- 抽象类,定义一个通用的,独立于地层协议的Servlet。?
?????? (2)javax.servlet.http包中定义了采用HTTP通信的HttpServlet类。?
????????? javax.servlet.http包的接口为:?
???????????????????????? HttpServletRequest接口? ---- 提供http请求?
???????????????????????? HttpServletResponse接口? ---- 提供http响应?
???????????????????????? HttpSession接口? ---- 用于标识客户端并存储有关客户信息?
???????????????????????? HttpSessionAttributeListener接口? ----实现这个侦听接口用户获取会话的属性列表的改变的通知?
????????? javax.servlet.http包中的类:?
???????????????????????? HttpServlet类 ---- 扩展了 GenericServlet的抽象类,用于扩展创建Http Servlet?
????????????????????????? Cookie类? ---- 创建一个Cookie,用于存储Servlet发送给客户端的信息?
??????????????????????????????????????????????????????
?? 2>Servlet框架的核心?
??????? Servlet框架的核心是:javax.servlet.Servlet接口,所有的Servlet都必须实现这一接口。?
?? 4.Http Servlet?
?????? HttpServlet是一个抽象类,用来创建用户自己的 HTTP Servlet。HttpServlet类的子类必须至少重写一下方法中的一个:doGet()和doPost()。?
????? HttpServlet类提供doGet()方法来处理GET请求?
??????? public void doGet(HttpServletRequest req,HttpServletResponse res)?
????????????? 提供doPost()方法处理POST请求??
??????? public void doPost(HttpServletRequest req,HttpServletResponse res)?
??????? 其中有2个参数:HttpServletRequset和HttpServlerResponse?
???????? 这2个类实现了ServlerRequset接口和ServletResponse接口?
??????? ServletRequest接口中封装了客户请求信息<客户请求方式,参数名,参数值等>?
??????? ServletResponse接口 为 Servlet提供了返回相应结果的方法。?
???? 5.Servlet体系结构?
????????? Servlet-->GenericServlet-->HttpServlet-->用户自定义的Servlet?
???? 6.Servlet的生命周期?
???????? Servlet的生命周期由Servlet容器控制,该容器创建Servlet的实例。?
???????? Servlet生命周期就是指创建Servlet实例后响应客户请求直至销毁的全过程。?
???????? 1>Serlvet生命周期的三个方法:init()-->service()-->destroy()?
???????? 2>生命周期的各个阶段:?
??????????? 实例化:Servlet容器创建Servlet类的实例对象?
??????????? 初始化:Servlet容器调用Servlet的init()方法?
??????????? 服务:如果请求Servlet,则容器调用service()方法?
??????????? 销毁:销毁实例之前调用destroy()方法?
??????????? 不可用:销毁实例并标记为垃圾处理?