日期:2014-05-16 浏览次数:20407 次
?
??? Servlet部署在容器中,其生命周期由容器来管理,可以概括为一下5个阶段
1.加载:当web客户端请求Servlet服务或web服务器启动时,容器环境加载一个Servlet类。
2.实例化:容器环境根据客户请求创建一个Servlet对象实例。
3.初始化:容器环境调用Servlet的init()方法进行初始化,该方法以一个ServletConfig类型的应用作为参数,该参数可让Servlet从部署描述文件web.xml中读取一些“键对值”形式的参数值,以初始化这些数据。Servlet初始化时也可以从数据库中读取初始化数据,建立JDBC连接,或者创建其他有价值的资源信息引用。
4.服务:容器环境利用HttpServletRequset和HttpServletResponse对象,封装从web客户端接受到的HTTP请求和Servlet生成的响应,将这两个对象以参数的形式传给service()方法。
5.销毁:当web服务器或容器关闭时,会自动调用servlet的destroy()方法关闭所有打开的资源,并进行一些关闭前的处理
??? ?? Servlet生命周期整个过程:
?? 1:不存在的Servlet实例——2:容器装载Servelt——3:创建Servlet实例——4:初始化Servlet调用init()方法——
5:调用service()方法对应Servlet的service()方法——6:结束Servlet调用destory()方法
?
?
?应用Servlet API
?
Servlet API中定义了一整套的借口和类:
??? javax.servlet?—— [接口?????类]
????????????? 接口:{ServletConfig、ServletContext、ServletResponse、ServletRequset、Servlet}
?
?????????????? 类:{ServletOutputStream、ServletInputStream、GenericServlet}?
?
使用Servlet API的原则
HttpServletRequest接口
??? HttpServletRequest接口代表客户请求。容器在调用Servlet的doGet()和doPost()方法时,会创建一个HttpServletRequest接口的实例,该实例作为参数传给doGet()或doPost()方法
?
???? HttpServletRequest所提供的方法如下:????
HttpServletResponse接口:
??? HttpServletResponse接口代表向客户端发送的响应。容器在调用Servlet的doGet()和doPost()方法时,同样会创建一个HttpServletResponse接口的实例,作为参数传给doGet()或doPost()方法。
???
??? HttpServletResponse接口提供的方法:
使用request对象属性传递数据
??? 在Servlet类的请求处理方法中,可以获取客户端提交的参数数据,也可以棉鞋逻辑代码,对数据请求进行处理并作出响应。
???
??? 业务需求: