这篇文章的主要目的不是单纯的介绍JSP,也不是详细的介绍Servlet。这是一篇讲述JSP和Servlet之间关系的基础性文章。这篇文章主要是针对那些学习JSP的人而写的。至于Servlet和JavaBean以及Servlet和XML我的两个同学在他们的文档中将会给出明确的解释。
本文的主要结构:
1 Servlet是什么
2 JSP与Servlet
3 Servlet 概述
4 附录一
5 附录二
在讲述的过程中,主要是针对JSP和Servlet关系区别来写。
而本文的内容顺序之所以按这种方式来写是为了体现技术的发展顺序。
附录一提供了有关怎样来运行一个Servlet的内容,完全是按本人的经验来写,其内容已经经过本人的证实。
附录二中收集了一些纯粹的实践笔记。(转载)
一 Servlet是什么
客户机/服务器计算的发展。Java提供了一整套客户机/服务器解决方案,在这个方案中,程序可以自动地下载到客户端并执行,这就是applet。但是它仅仅是问题的一半。问题的另一半就是Servlet。
servlet可以被认为是服务器端的applet。servlet被Web服务器加载和执行,就如同applet被浏览器加载和执行一样。servlet从客户端(通过Web服务器)接收请求,执行某种作业,然后返回结果。使用servlet的基本流程如下:
·客户端通过>
首先我们要了解Servlet是什么,下面就详细讲解下Servlet特性和功能
一、Servlet是什么
Servlet是一个类,是一个用Java语言编写的、实现Servlet接口的类,一个与访问协议和平台无关的,运行在Servlet容器中的Java程序。
Servlet没有main方法,不能独立运行;它只有实例化、初始化、运行、销毁方法,被编译成与平台无关的字节码文件后,需要加载到Servlet容器中才能执行,并且由Servlet容器管理Servlet的整个生命周期,所以,也常常称Servlet是Servlet容器上运行的服务器小程序。
Servlet推出初期,主要是作为支持>
Servlet运行在服务器上,它可以接受来自客户端的请求,并将处理结果返回给客户端,于是,在许多应用中,Servlet主要用于实现动态网页,亦或作为前端页面与后台数据库或者后台服务器程序之间的中间件。
二、Servlet容器
Servlet容器作为支撑Servlet运行的平台,是一个非常重要的部件。也可以把Servlet容器看成是一个装载着许多Servlet对象的容器,Servlet容器负责管理这些Servlet对象。
Servlet容器运行在JVM(Java虚拟机)之上,管理Servlet的实例化、初始化、实例对象的运行和销毁,并提供最基础的运行支撑,例如:Servlet容器负责接收请求、转发请求、发送响应、管理会话状态、实现数据共享等等。
Servlet容器至少支持通过>
访问Servlet容器中Servlet的过程如下:
(1)客户发送访问请求至Servlet容器
(2)Servlet容器接收请求,解析,然后将请求发送给相应的Servlet处理
(3)Servlet执行,将处理结果返回给Servlet容器
(4)Servlet容器接收处理结果,将处理结果返回给客户
从以上访问Servlet的过程,可以看出,Servlet容器的作用如下:
(1)接收请求:当客户请求来到时,Servlet容器负责接收请求
(2)管理与调用Servlet:Servlet容器管理Servlet的加载、实例化、初始化、调用与垃圾回收,根据请求的Servlet地址,调用要访问的Servlet
(3)返回响应结果:将Servlet的执行结果返回给客户
Servlet运行在Servlet容器中,容器为Servlet提供运行时的平台支撑,于是,在Servlet中,只需要专注于业务逻辑功能实现,而无需考虑网络通讯、垃圾回收等功能,这些基本功能由Servlet容器提供。
Servlet容器主要提供了如下功能:
(1)基本通信支持:Servlet容器提供了与WEB服务器之间的通信方法,使Servlet可以与WEB服务器轻松对话,并借助WEB服务器与客户端浏览器之间的通信机制,使Servlet容器无需自己建立Socket服务、监听通信端口、创建数据流对象等;Servlet容器定义了与WEB服务器之间的通信协议,所以,在Servlet中,无需考虑WEB服务器(例如:Tomcat)和自己的功能代码之间的API接口,只需要考虑如何在Servlet中实现业务逻辑功能(例如:处理一个订单)。
(2)管理Servlet生命周期:Servlet容器管理着Servlet的整个生命周期,负责查找、加载、实例化、初始化、调用Servlet方法,以及销毁,有了Servlet容器,就不需要考虑Servlet资源的管理。
(3)支持多线程:Servlet容器会自动为它所接收的每一个客户请求创建一个新的Java线程,以处理该请求;对于每一个客户请求,Servlet服务方法执行结束,则Servlet容器就会结束立即这个线程。
(4)声明方式实现安全:按照Servlet容器要求,使用webxml部署描述文件或注解来配置和修改安全性,而不必将其硬编码写到Servlet类代码中。
(5)支持JSP动态页面:Servlet容器负责将JSP页面翻译成Java Servlet代码,按Servlet来管理JSP页面的运行。
根据Servlet应用模式,Servlet最常用的模式是通过Servlet容器运行在WEB服务器中,以执行请求和响应,请求与响应的典型范例是用动态网页技术实现动态网页,或者作为前端页面与后台数据库/后台服务器程序之间的中间件,于是,Servlet容器需要与WEB服务器或应用服务器结合,才能为WEB应用程序的访问提供服务。
Servlet容器可以在WEB服务器内部实现,也可以作为WEB服务器的附加构件提供,还可以实现在有WEB使能的应用服务器上,为Servlet的访问提供运行支撑。
WEB服务器启动时,Servlet容器也会随之启动。
关于WEB方面更详细的讲解可以看下这个视频教程网页链接
希望我的回答能帮到你
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)