Servlet基础知识(一)——Servlet的本质
什么是Servlet:
Servlet是运行在web服务器端(web容器,如tomcat)的程序,它与Applet相对,Applet是运行在客户端的程序。
Servlet的主要作用是处理客户端的请求,并把处理结果响应给客户端。生成动态网页。
Servlet的本质:
Servlet的本质是实现了javax.servlet.Servlet接口的Java类。javax.servlet.GenericServlet实现了Servlet接口,实现了Servlet基本的特征和功能,能够接受客户端发出的请求和产生响应信息。而javax.servlet.http.HttpServlet又继承了javax.servlet.GenericServlet类,所以我们编写的Servlet继承HttpServlet即可。
它的整个过程为:(Servlet的生命周期)
客户端发送请求给服务器端(Tomcat)。(若容器还不存在Servlet的实例,则容器先加载Servlet类,然后创建一个ServletConfig对象,这里包含了Servlet的初始化配置信息。并创建一个Servlet实例,然后通过Servlet实例的init()方法初始化该实例。)
容器接收到客户端请求,创建ServletRequest和ServletResponse对象,再调用service(ServletRequest req,ServletResponse res)方法,通过servletRequest对象获得请求的信息,通过servletResponse对象生成这个请求的相应结果。然后销毁ServletRequest和ServletResponse对象。
Web终止时,servlet容器调用servlet对象的destroy()方法,然后销毁servlet,同时也销毁servlet对象相关联的servletConfig对象,释放servlet所占用的资源。
其中init()和destroy()方法在整个生命周期内只执行一次。
GET请求和POST请求的区别:
Servlet基础知识(一)——Servlet的本质的更多相关文章
- JSP SERVLET 基础知识
jsp(java server page)和servlet是JAVA EE规范的两个基本成员,是JAVA WEB开发的重点也是基础知识.JSP本质上也需要编译成SERVLET运行. JSP比较简单,可 ...
- Servlet基础知识
基本知识一.Web结构1.两种应用程序 ①桌面应用程序:QQ.CS.MyEclipse.Office.DW.360.浏览器等必须下载.安装.桌面快捷方式.注册表信息.操作系统后台服务.占用操作系统端口 ...
- Servlet基础之一:Servlet基本接口与类
1.概述 Servlet API中共有5个包,约113个接口和类: javax.servlet javax.servlet.http javax.servlet.jsp javax.servlet.a ...
- Servlet基础知识总结
Servlet是JavaWeb应用开发的核心组件.Servlet运行在Servlet容器中(例如最常用的Tomcat),它可以为各种客户请求提供相应服务.Servlet可以轻松完成以下任务: 动态生成 ...
- Java之JSP和Servlet基础知识
JSP基础 JSP起源 JSP,JavaServer Pager的简称.由SUN倡导并联合其它公司创建. JSP是一门脚本语言 JSP可以嵌入到HTML中 JSP拥有Java语言的所有特性 面向对象. ...
- Servlet基础知识(四)——Servlet过滤器Filter
一.什么是过滤器: 政府大楼的安检保安,它既能对进入政府大楼的人员进行检查,只允许检查符合要求的进入:同时他也负责对出大楼的人进行检查,看他带出的东西是否符合要求. 同样的,Servlet中的过滤器既 ...
- Servlet基础知识(三)—— 会话机制Session,Session和Cookie的异同
Servlet会话机制: Http是一种无状态协议,它是无记忆的.也就是说,服务器不会保存用户的任何信息,当同一用户再次去访问时,服务器是不认识你的,它还是会建立新的连接. 但有时候我们需要服务器保留 ...
- Servlet 基础知识
8.Response 8.1.getOutputStream和getWriter方法分别用于得到输出二进制数据.输出文本数据的ServletOutputStream .Printwriter对象. ...
- JSP Web第七章整理复习 Servlet基础知识
P206-208 Servlet项目的创建,web.xml的配置及标签含义,相关程序 创建:new 一个Servlet类,继承自javax.servlet.http.HttpServlet; 写doG ...
随机推荐
- 前端制作中,IE6还有必要兼容吗?
国内市场对IE 6~7支持还有一定需求,但对于一个前端开发者,我们应该去推动这个行业向前发展,而不是一味迁就.妥协. 曾经,能够提供支持老版本 IE 是一个前端开发者的必备技能.随着移动互联网大潮来临 ...
- [Script]EBS里查看模块的版本、文件的版本信息【Z】
系统版本信息 装了哪些模块,以及版本信息 select 'Current Application Release: '||ver||' ('||bug||')' "Description&q ...
- iOS坐标转换
// 将像素point由point所在视图转换到目标视图view中,返回在目标视图view中的像素值 - (CGPoint)convertPoint:(CGPoint)point toView:(UI ...
- ftp上来显示的时间和系统时间不一致
ftp上来显示的时间和系统时间不一致,是因为默认情况下,vsftpd 是用GMT做为他的时间的,所以和系统的时间可能会不一致 修改也非常简单: vi /etc/vsftpd/vsftpd.conf 在 ...
- Swift 断言
assert(条件,"输出信息"); 如: let age=-1; assert(age>=0,"age要大于0");
- css3之border-color
-moz-border-top-colors:上边框-moz-border-right-colors:右边框-moz-border-bottom-colors:下边框-moz-border-left- ...
- CPU核心数
Process.ProcessorAffinity 属性: public IntPtr ProcessorAffinity { get; set; }属性值:位掩码,表示关联进程内的线程可以在其上运行 ...
- 数据仓库(七):Oracle Warehouse Builder(OWB)创建数据仓库
本文简述使用OWB创建数据仓库的一般过程.Oracle的OWB是目前最好的三大ETL产品之一.OWB不但可以可以完成数据的抽取.转换和加 载,还能帮助用户在Oracle数据库中创建ROLAP(Rela ...
- 调试qemu
最近需要给libvirt增加一个新feature,该feature基于qemu的最新代码. 我需要关心的: http://wiki.qemu.org/Features/Migration 需要自己编译 ...
- PHP 操作redis 详细讲解转的
http://www.cnblogs.com/jackluo/p/3412670.html phpredis是redis的php的一个扩展,效率是相当高有链表排序功能,对创建内存级的模块业务关系 很有 ...