微探之Servlet
来源:互联网 发布:网络运营需要学什么 编辑:程序博客网 时间:2024/04/29 17:22
初识Servlet
Servlet是JAVA处理WEB请求的一种机制。如在JAVAWEB开发中,可以将网页,也就是客户端的请求提交后,交由SERVLET处理!也可以由JSP处理!
容器可以管理对象的生命周期、对象与对象之间的依赖关系,通常是XML来定义好对象的名称、产生方式、设定对象的属性等,在启动容器之后,所有的对象都可以直接取用,不用编写任何一行程序代码来产生对象,或是建立对象与对象之间的依赖关系
Servlet 不是独立的应用程序,没有 main 方法,不能够独立的运行,它的运行需要容器的支持,Tomcat 是最常用的 JSP/Servlet 容器,此外还有Resin,Apache,IIS。Servlet 运行在 Servlet 容器中,并由容器管理从创建到销毁的整个过程。
Servlet的生命周期
(1)加载和实例化
Servlet 容器装载和实例化一个 Servlet。创建出该 Servlet 类的一个实例。
(2) init()
在服务器装入servlet时负责初始化Servlet对象。在Servlet的生命周期中,仅执行一次init()方法。
(3) service()
service() 方法是 Servlet 的核心。每当一个客户请求一个HttpServlet 对象,该对象的service() 方法就要被调用,而且传递给这个方法一个"请求"(ServletRequest)对象和一个"响应"(ServletResponse)对象作为参数。 在 HttpServlet 中已存在service() 方法。缺省的服务功能是调用与 HTTP 请求的方法相应的 do功能。
(4) destroy()
当 Servlet 容器将一个 Servlet 从服务器中移除时,便调用实例的 destroy() 方法,在销毁该 Servlet 实例之前,
来做一些其他的工作。
Servlet的工作原理
Servlet的工作我简单归纳为3点:
1.在容器中配置servlet及其映射文件;
2.前台jsp提交表单,写明action或method提交的方式为get还是post,默认为get;
3.通过action从配置文件中找到相应的servlet,获取参数,进行处理
注:在Servlet接口中是没有doGet()、doPost()等等这些方法的,HttpServlet中定义了这些方法,但是都是返回error信息,所以,我们每次定义一个Servlet的时候,都必须实现doGet或doPost等这些方法。
与一般处理程序相似
通过认识Servlet可以发现它与ASP.NET中的一般处理程序有很大的相似处,我们理解时可将二者等价看待。一般处理程序都继承了IHttpHandler接口。HttpHandler也是一个容器,它是HTTP请求的真正处理中心,它定义了如果要实现一个HTTP请求的处理所必需实现的一些系统约定。 一个HTTP请求都是最终交给一个HttpHandler容器中的ProcessRequest方法来处理的。 总结一点,他们都是由前台提交到一个容器中进行处理。
Servlet与以前的知识还是有很多共性的,理解起来也比较容易。但其毕竟为新知识,其中的新颖之处还需要我在接下来学习中慢慢研究。
- 微探之Servlet
- Servlet之Core Servlet
- Servlet学习之Servlet简介
- Servlet之手动配置Servlet
- Servlet之ServletContext
- Java之Servlet开发
- Servlet 之 生命周期
- servlet过滤器之EncodingFilter
- Servlet 之Cookie、Session
- servlet之生命周期
- servlet之上传文件
- servlet之批量下载
- JavaWeb 之 Servlet入门
- 【开发学习】之servlet
- J2EE之Servlet
- Java web之Servlet
- Servlet应用之细节
- java ee 之 servlet
- int,String,Integer相互转换的总结
- 生活源动力
- UIButton 的点击事件
- exVim :: 安装流程记录 & 个人配置备份 & 配色备份
- 关于同一交换机下设置不同网段的PC的通信的猜测
- 微探之Servlet
- 图的广度优先遍历
- MySQL在大型网站的应用架构演变
- javascript之作用域
- 【Matlab】优化工具箱使用详解
- 机器学习常见算法分类汇总
- ural 1143. Electric Path 凸多边形哈密顿回路
- 用于不相交集合的数据操作——并查集
- 虚拟机无法打开磁盘 "或者某一个快照所依赖的磁盘 原因:未能锁定文件"的解决办法