当前位置:文档之家› Servlet入门(一)

Servlet入门(一)

Servlet入门(一)
Servlet入门(一)

Servlet入门(一)

——传智播客学习笔记

1.什么是动态网页

●如果浏览器在不同时刻或不同条件下访问WEB服务器上的某个页面,浏览器所获得的页面内容可以发生变化,那么这个页面就称之为动页面。

●要想让浏览器访问某一WEB页面时,能够查询出一些动态变化的实时信息,例如,某日某次列车的车票剩余状况,浏览器在不同时刻所得到的WEB页面的内容必须随着车票的剩余状况进行变化,这就必须采用动态网页来实现。

●浏览器只关心如何显示和处理WEB服务器返回的内容,浏览器处理动态网页的方式与它处理静态网页的方式完全相同、并无差异。

●WEB服务器发送的静态内容直接来自于文本或数据文件,而动态内容需要依靠一个程序来临时产生。

2.动态网页程序与引擎

●动态网页内容的创建过程包含两个步骤:

首先使用某种编程语言编写出相应的动态网页程序;

然后由一个专门的WEB服务器程序模块来解释执行该动态网页程序。

●在动态网页程序的代码中可以完成各种程序逻辑控制、获取客户端传递的数据、对数据库进行操作、创建输出内容等功能,WEB程序开发就是使用某种编程语言来编写完成上述功能的动态网页程序。

●动态网页程序需要有一个专门的WEB服务器程序模块来解释执行,专门解释和执行某种动态网页程序的WEB服务器程序模块习惯上被称为引擎,譬如ASP引擎、Servlet引擎、JSP引擎等。

●只有引擎会与浏览器直接进行信息交换,动态网页程序不直接与浏览器进行信息交换,动态网页程序只与引擎进行信息交换,由引擎将浏览器的信息传递给动态网页程序和将动态网页程序生产的结果回送给浏览器。

●引擎提供的API有两个基本的作用:一些API用于将访问请求的相关信息传递给动态网页程序;另一些API将动态网页程序产生的结果传递给引擎。

●客户端向WEB服务器请求的URL资源路径,不仅可以指向服务器的一个静态HTML文件,还可以指向服务器端的某种可被解释运行的运行文件。

●如果客户端请求的URL后缀名符合某种引擎所处理的资源名的特征,WEB服务将把请求转交给相应的引擎去处理,然后由引擎去调用某个程序文件,并将程序动态产生的内容返回给客户端。

●动态网页程序文件中的代码不仅可以创建出用于返回给浏览器的动态变化内容,还可以实现对数据库的插入、修改、删除和查询等操作,从而让网站可实现论坛交流、产品订购、问卷调查、甚至是企业的整个管理信息系统等功能。

●目前有不少公司提供了动态网页的解决方案,称为服务器端的WEB编程技术,常见的技术有CGI、ISAPI、ASP、.NET、Servlet/JSP、PHP等,这些技术分别使用不同的编程语言。

3.Servlet技术简介

●Servlet技术是Sun公司提供的一种实现动态网页的解决方案,它是基于Java编程语言的WEB服务器端编程技术。

●Servlet技术也是JSP技术的基础。

●一个Servlet程序就是一个实现了特殊接口的Java类,它由支持Servlet的WEB服务器调用和启动运行。一个Servlet程序负责处理它所对应的一个或一组URL地址的访问请求,并接受客户端发出的访问请求信息和产生响应内容。

●Applet是用于浏览器的Java小程序,Servlet是用于WEB服务器端的Java小程序。

●Servlet程序可以完成普通Java程序所能完成的大多数任务:

获取客户端通过HTML的FORM表单递交的数据和URL后面的参数信息

创建对客户端的响应消息内容

访问服务器端的文件系统

连接数据库并开发基于数据库的应用

调用其他的JA V A类。

4.B/S系统架构与C/S系统架构

●企业信息管理软件系统的一个重要特点就是:要使用多台计算机作为操作终端,而系统的数据信息集中存放在网络上的数据库服务器中。

●在开发企业信息管理软件时,通常在两种系统架构之间进行选择,即C/S架构和B/S架构。

●C/S架构就是Client/Server的简写,就是客户机/服务器架构,它是早期出现的一种分布式架构。

●B/S架构是Brower/Server的简写,就是浏览器/服务器架构,它是随着Internet技术的兴起,对C/S架构的一种变化和改进的架构。

5.C/S系统架构的特点

●缺点:

数据库系统支持的并发连接数有限,限制了同时运行的客户端程序的数目。

业务逻辑处理和界面显示都是由客户端程序负责处理,一旦业务逻辑或者显示界面要发生变化,则需要对整个客户端程序进行修改,不利于软件的维护和功能扩展。

每个客户机上都要安装客户端程序,对于大一点的企业来说,如果客户端程序发生了修改,则需要系统管理人员到多台客户机上重新安装客户端程序。

●优点:

客户端程序就是计算机上的一个桌面程序,功能可以做得非常强大。例如,在数据库服务器不可用时仍可以独立运行,可以将事务记录保存在本地桌面数据库中后再集中向数据库服务器提交,很容易对数据库中的数据进行实时监控和实现报警功能。

6.B/S系统架构的优点

●B/S架构将程序中的界面显示和业务逻辑处理都移动到了WEB服务器中来实现,其应用全部集中到了WEB服务器端,客户端只需要具有浏览器就可以作为B/S架构的操作终端,而不用安装和部署任何程序。

●B/S架构中的用户操作界面是由WEB服务器创建的,当要修改系统提供的用户操作界面时,只需要在WEB服务器端修改相应的网页文档,整个系统的更新部署不需要在客户机上进行任何操作和设置,在用户的不知不觉中就迅速完成,可以做到快速服务响应。

●客户端不直接与数据库建立连接,而是只有WEB服务器端的程序需要与数据库建立连接,所以数据库并发连接数量有限的问题也得到了解决。

●B/S架构应作为各类信息管理系统的首选体系架构,它基本上已全面取得了C/S架构。

7.Servlet API介绍

●Servlet API(Servlet Application Programming Interface)是SUN公司定义的一套专门用于开发Servlet 程序的Java类和接口。

●早期包装Servlet API的jar包被称之为JSDK(Java Servlet Development Kit),最新版本的Java Sevlet 开发工具包已经被集成到了SUN公司的Java EE(J2EE升级后的名称)开发工具包中。

●应结合Servlet API帮助文档来学习和应用Servlet API,边学边查。必须了解HTTP协议和WEB服务器的内部运行方式,以及Servlet引擎的一些实现机制后,才能够在看懂

8.编写Servlet程序

●一个Servlet程序就是一个实现了javax.servlet.Servlet接口的Java类,Servlet接口定义了Servlet引擎与Servlet程序之间通信的协议约定。

●javax.servlet.GenericServlet类实现了Servlet接口,它实现了Servlet程序的基本特征和功能。

●javax.servlet.http.HttpServlet类是GenericServlet的子类,它在GenericServlet类的基础上进行了一些针对HTTP特点的扩充。

●客户端每次访问一个支持HTTP的Servlet程序时,Servlet引擎都将调用Servlet的service方法来进行处理。service方法接受两个参数,一个是用于封装HTTP请求消息的对象,其类型为HttpServletRequest,是代表HTTP响应消息的对象,其类型为HttpServletResponse。

●调用HttpServletResponse对象的getWriter方法可以获得一个文本输出流对象,向这个流对象中写入的数据将作为HTTP响应消息的实体内容部分发送给客户端。

9.Servlet的注册与运行

●Servlet程序必须通过Servlet引擎来启动运行,并且储存目录有特殊要求,通常需要存储在

用程序目录>\WEB-INF\classes\目录中。

●Servlet程序必须在WEB应用程序的web.xml文件中进行注册和映射其访问路径,才可以被Servlet 引擎加载和被外界访问。

●一个元素用于注册一个Servlet,它包含有两个主要的子元素:,分别用于设置Servlet的注册名称和Servlet的完整类名。

●一个元素用于映射一个已注册的Servlet的一个对外访问路径,它包含有两个子元素:,分别用于指定Servlet的注册名和Servlet的对外访问路径。

10.Servlet映射的细节

●同一个Servlet可以被映射到多个URL上,即多个元素的子元素的设置值可以是同一个Servlet的注册名。

●在Servlet映射到的URL中也可以使用*通配符,但是只能有两种固定的格式:一种格式是“*.扩展名”,另一种格式是以正斜杠( / )开头并以“/*”结尾。

11.Servlet映射的最具体匹配原则

对于如下的一些映射关系:

●/abc/* 映射到Servlet1

●/* 映射到Servlet2

●/abc 映射到Servlet3

●*.do 映射到Servlet4 (优先级最低)

将发生如下一些行为:

●当请求URL为“/abc/a.html”,“/abc/*”和“/*”都可以匹配这个URL,Servlet引擎将调用Servlet1。

●当请求URL为“/abc”时,“/abc/*”和“/abc”都可以匹配这个URL,Servlet引擎将调用Servlet3。

●当请求URL为“/abc/a.do”时,“/abc/*”和“*.do”都可以匹配这个URL,Servlet引擎将调用Servlet1。

●当请求URL为“/a.do”时,“/*”和“*.do”都可以匹配这个URL,Servlet引擎将调用Servlet2。

●当请求URL为“/xxx/yyy/a.do”时,“/*”和“*.do”都可以匹配这个URL,Servlet引擎将调用Servlet2。

12.注册和访问Servlet程序—>实践

●url地址是严格区分大小写的!!!

●映射url不能设置为“/action/*.xx”

●Servlet程序不能被设置为Web应用程序的目录默认网页文档。

13.Servlet激活器

●Tomcat的examples应用程序中的例子Servlet的访问路径:

http://localhost:8080/examples/servlet/ (对于Tomcat 4.x版本)

●应用程序的web.xml文件中的设置:

invoker

/servlets/*

●conf\web.xml文件中的设置:

invoker

org.apache.catalina.servlets.InvokerServlet

2

14.缺省Servlet

●如果某个Servlet的映射路径仅仅为一个正斜杠( / ),那么这个Servlet就成为当前Web应用程序的缺省Servlet。

●凡是在web.xml文件中找不到匹配的元素的URL,它们的访问请求都将交给缺省Servlet处理,也就是说,缺省Servlet用于处理所有其他Servlet都不处理的访问请求。

●在\conf\web.xml文件中,注册了一个名为org.apache.catalina.servlets.DefaultServlet 的Servlet,并将这个Servlet设置为了缺省Servlet。

●当访问Tomcat服务器中某个静态HTML文件和图片时,实际上是在访问这个缺省Servlet。而该缺省Servlet就是将原静态HTML文件和图片以字节原样读取并传送到客户端。

Java基础入门教程(适合所有初学者)

第1章 Java语言概述与面向对象思想 1 1.1 Java语言的发展 1 1.1.1 Java语言的产生 1 1.1.2 Java语言的发展 1 1.2 Java语言的特点 2 1.3 面向对象与面向过程的差异 3 1.3.1 面向过程思想回顾 4 1.3.2 面向对象思想介绍 4 1.4 面向对象程序设计中的主要概念和特征 4 1.4.1 主要概念 5 1.4.2 主要特征 5 *1.5 Java与C++的差异 5 1.6本章小结5 习题 5 第2章 Java语言开发环境 6 2.1 JDK 6 2.1.1 JDK的简介6 2.1.2 JDK的构成6 2.1.3 JDK的使用6 2.2 IDE 8 2.2.1 IDE简介8 2.2.2 JBuilder 9 2.2.3 Eclipse 9 2.2.4 相关资源9 2.3 Project管理9 2.3.1 Project的含义9 2.3.2 可行的Project组织模式9 2.3.3 主要开发工具的Project目录10 2.4 本章小结10 习题10 第1章 Java语言概述与面向对象思想 1.1 Java语言的发展 1.1.1 Java语言的产生以介绍面向对象编程的基本概念、基本理论为重点,结合Java语言的语法规则、编程特点和设计思想、强调容易发生错误和编程应注意的地方,使学生能对Java 技术有一个总体了解,通过本课程学习,使学生掌握Java语言的基础知识,理解和掌握面向对象程序设计的基本思想,熟练地使用Java语言进行程序的编写、编译以及调试工作 上世纪90年代初期,Sun公司在研究一种适用于未来的智能设备的编程语言,该语言要具有一些新的特性,以避免C++的一些不足。 该语言起初命名为Oak,来源于语言作者Gosling办公室窗外的一棵橡树(Oak)。后来在注册时候遇到了冲突,于是就从手中的热咖啡联想到了印度尼西亚一个盛产咖啡的岛屿,中文名叫爪哇,Java语言得名于此。 随着Internet的迅速发展,Web应用日益广泛,Java语言也得到了迅速发展。1994年,Gosling

第八章 Servlet技术习题

第八章 Servlet技术 一、选择题 1.下面对Servlet、Applet的那一项描述错误?()A)Servelt与Applet相对应 B)Applet运行在客户端浏览器 C)Servlet运行在Web服务器端 D)Servlet和Applet不可以动态从网络加载2.下面哪一项不在Servlet的工作过程中?()A)服务器将请求信息发送至Servlet B)客户端运行Applet C)Servlet生成响应内容并将其传给服务器 D)服务器将动态内容发送至客户端 3.下列哪一项不是Servlet中使用的方法?()A)doGet() B)doPost() C)service() D)close() 4.关于MVC架构的缺点,下列的叙述哪一项是不正确的?() A)提高了对开发人员的要求 B)代码复用率低C)增加了文件管理的难度 D)产生较多的文件5.下面哪一项对Servlet、JSP的描述错误?()

A)HTML、Java和脚本语言混合在一起的程序可读性较差,维护起来较困难。 B)JSP技术是在Servlet之后产生的,它以Servlet 为核心技术,是Servlet技术的一个成功应用。 C)当JSP页面被请求时,JSP页面会被JSP引擎翻译成Servelt字节码执行 D)一般用JSP来处理业务逻辑,用Servlet来实现页面显示。 6.下面哪一项对Servlet、JSP的描述错误?()A)Servlet可以同其他资源交互,例如文件、数据库 B)Servlet可以调用另一个或一系列Servlet E)服务器将动态内容发送至客户端 E)Servlet在表示层的实现上存在优势 7.下面哪一项对Servlet描述错误?()A)Servlet是一个特殊的Java类,它必须直接或间接实现Servlet接口 B)Servlet接口定义了Servelt的生命周期方法C)当多个客户请求一个Servlet时,服务器为每一个客户启动一个进程 D)Servlet客户线程调用service方法响应客户的请求

web技术应用基础应用复习

w e b技术应用基础应用 复习 文档编制序号:[KK8UY-LL9IO69-TTO6M3-MTOL89-FTT688]

填空题 1.JSP把Java作为默认的脚本语言. 2.HTTP的中文含义是超文本传输协议,它的作用是用于传输超文本标记语言 编写的文件。 3.网站一般分为三层,分别是用户界面交互层,应用程序层,数据库层。 4.Servlet的生命周期可以分为4个阶段:载入,初始化,执行,删除(销 毁。 5.在JSP文件中使用〈!————〉对HTML文本进行注释,使用〈%———— %〉符号对JSP语句进行注释。 6.JSP页面在使用Jag标记来调用一个标签文件之前,必须使用Taglib指令 标记引入该Web服务目录下的标记库。 7.在JSP中当执行了查询结果保存在Resultset对象中。 8.在JSP中,连接数据库的方式通常有两种:一种是通过JDBC驱动程序连 接;另一种是通过JDBC-ODBC桥连接。 9.HTML是超文本标记语言,作用是WWW页面内容的格式进行说明。在HTML中 加入CSS的方法主要有嵌入式样式表,内联式样式表,外联式样式表。 10.Request对象的作用是表示客户端对网页的请求,并使用HTTP协议处理 客户端的请求,一个常用的方法是getParameter();其作用为设置作为响应生成内容的类型和字符编码。 11.Reponse对象的作用是处理jsp生成的响应发送给客户端: setContentType(),其作用为设置作为响应生成内部的类型和字符编码。 12.JSP中的五个常见内建对象是out: application: request:reponse:session 13.Servlet中的4个常用方法分别是init():doGet():doPost():destor() 14.在JSP页面中显示用户信息的两种方法是()和〈%= %〉 15.Servlet中实现页面跳转的两种方法是()和().forward() 16.JSP开发网站的两种模式分为Jsp+javabean和jsp+javabean+servlet 17.一个JSP页面可由5种元素组合而成,分别是普通的HTML.标记,JSP标 记,JAVA程序片,JAVA表达式和变量和方法的声明。

Java_Servlet入门教程

教学活动首页 基本内容 第 7 章 Java Servlet 教学目的与要求:通过本章的学习让学生了解如何用 servlet 读写文件,用 servlet 访问数据库;理解servlet 工作原理,servlet共享变量的使用;掌握编译和安装 servlet,通过 JSP 页面调用 servlet,HttpServlet 类,掌握会话管理。 教学内容: 7.1 servlet 工作原理 7.2 编译和安装 servlet 7.3 通过 JSP 页面调用 servlet 7.4 servlet共享变量 7.5 HttpServlet 类 7.6 用 servlet 读写文件 7.7 用 servlet 访问数据库 7.8 会话管理 教学基本要求: 了解:用 servlet 读写文件,用 servlet 访问数据库 理解:servlet 工作原理,servlet共享变量 掌握:编译和安装 servlet,通过 JSP 页面调用 servlet,HttpServlet 类,会话管理 教学重点教学难点: servlet 工作原理,编译和安装 servlet,通过 JSP 页面调用 servlet,HttpServlet 类,会话管理 教学方法: 教学手段:多媒体教学和计算机程序演示 教学小结:(见教学进程) 作业与思考:见课后习题 课后记载:

教学进程 第7章 Java Servlet 我们已经知道,SUN公司以Java Servlet为基础,推出了Java Server Page。JSP提供了Java Servlet的几乎所有好处,当一个客户请求一个JSP页面时,JSP引擎根据JSP页面生成一个Java文件,即一个servlet。这一章,将对servlet做一个较详细的介绍,这不仅对于深刻理解JSP有一定的帮助,而且通过学习servlet,还能使我们选择使用 JSP+javabeans+servlet的模式来开发我们的Web应用程序。 我们已经知道,用JSP支持JavaBeans这一特点,可以有效的管理页面的静态部分和页面的动态部分。另外,我们也可以在一个JSP页面中调用一个servlet完成动态数据的处理,而让JSP页面本身处理静态的信息。因此,开发一个Web应用有两种模式可以选择: (1) JSP+javabeans (2) JSP+javabeans+servlet 7.1 Servlet工作原理 servlet由支持servlet的服务器:servlet引擎,负责管理运行。当多个客户请求一个servlet时,引擎为每个客户启动一个线程而不是启动一个进程,这些线程由servlet引擎服务器来管理,与传统的CGI为每个客户启动一个进程相比较,效率要高的多。 7.1.1 Servlet 的生命周期 学习过Java 语言的人对Java Applet(Java小应用程序)都很熟悉,一个Java Applet 是java.applet.Applet类的子类,该子类的对象由客户端的浏览器负责初始化和运行。servlet的运行机制和Applet类似,只不过它运行在服务器端。一个servlet是javax.servlet 包中HttpServlet类的子类,由支持servlet的服务器完成该子类的对象,即servlet的初始化。 Servlet的生命周期主要有下列三个过程组成: (1)初始化servlet。servlet第一次被请求加载时,服务器初始化这个servlet,即创建一个servlet对象,这对象调用init方法完成必要的初始化工作。 (2)诞生的servlet对象再调用service方法响应客户的请求。 (3)当服务器关闭时,调用destroy方法,消灭servlet对象。 init方法只被调用一次,即在servlet第一次被请求加载时调用该方法。当后续的客户请求servlet服务时,Web服务将启动一个新的线程,在该线程中,servlet调用service方法响应客户的请求,也就是说,每个客户的每次请求都导致service方法被调用执行。 7.1.2 init方法 该方法是HttpServlet类中的方法,我们可以在servlet中重写这个方法。 方法描述: public void init(ServletConfig config) throws ServletException servlet第一次被请求加载时,服务器初始化一个servlet,即创建一个servlet对象,这个对象调用init方法完成必要的初始化工作。该方法在执行时,servlet引擎会把一个

第八章 Servlet技术习题

第八章Servlet技术 一、选择题 1.下面对Servlet、Applet的那一项描述错误?() A)Servelt与Applet相对应 B)Applet运行在客户端浏览器 C)Servlet运行在Web服务器端 D)Servlet和Applet不可以动态从网络加载 2.下面哪一项不在Servlet的工作过程中?() A)服务器将请求信息发送至Servlet B)客户端运行Applet C)Servlet生成响应内容并将其传给服务器 D)服务器将动态内容发送至客户端 3.下列哪一项不是Servlet中使用的方法?() A)doGet() B)doPost() C)service() D)close() 4.关于MVC架构的缺点,下列的叙述哪一项是不正确的?() A)提高了对开发人员的要求B)代码复用率低 C)增加了文件管理的难度D)产生较多的文件 5.下面哪一项对Servlet、JSP的描述错误?() A)HTML、Java和脚本语言混合在一起的程序可读性较差,维护起来较困难。 B)JSP技术是在Servlet之后产生的,它以Servlet为核心技术,是Servlet技术的一个成功应用。 C)当JSP页面被请求时,JSP页面会被JSP引擎翻译成Servelt字节码执行 D)一般用JSP来处理业务逻辑,用Servlet来实现页面显示。 6.下面哪一项对Servlet、JSP的描述错误?() A)Servlet可以同其他资源交互,例如文件、数据库 B)Servlet可以调用另一个或一系列Servlet E)服务器将动态内容发送至客户端 E)Servlet在表示层的实现上存在优势 7.下面哪一项对Servlet描述错误?() A)Servlet是一个特殊的Java类,它必须直接或间接实现Servlet接口 B)Servlet接口定义了Servelt的生命周期方法 C)当多个客户请求一个Servlet时,服务器为每一个客户启动一个进程 D)Servlet客户线程调用service方法响应客户的请求 8.下面哪一项对Servlet描述错误?() A)Servlet是一个特殊的Java类,它必须直接或间接实现Servlet接口 B)Servlet接口定义了Servelt的生命周期方法 C)当多个客户请求一个Servlet时,服务器为每一个客户启动一个进程 D)Servlet客户线程调用service方法响应客户的请求 9.下面Servlet的哪个方法载入时执行,且只执行一次,负责对Servlet进行初始化。()A)service() B)init() C)doPost() D)destroy()

Servlet入门(一)

Servlet入门(一) ——传智播客学习笔记 1.什么是动态网页 ●如果浏览器在不同时刻或不同条件下访问WEB服务器上的某个页面,浏览器所获得的页面内容可以发生变化,那么这个页面就称之为动页面。 ●要想让浏览器访问某一WEB页面时,能够查询出一些动态变化的实时信息,例如,某日某次列车的车票剩余状况,浏览器在不同时刻所得到的WEB页面的内容必须随着车票的剩余状况进行变化,这就必须采用动态网页来实现。 ●浏览器只关心如何显示和处理WEB服务器返回的内容,浏览器处理动态网页的方式与它处理静态网页的方式完全相同、并无差异。 ●WEB服务器发送的静态内容直接来自于文本或数据文件,而动态内容需要依靠一个程序来临时产生。 2.动态网页程序与引擎 ●动态网页内容的创建过程包含两个步骤: 首先使用某种编程语言编写出相应的动态网页程序; 然后由一个专门的WEB服务器程序模块来解释执行该动态网页程序。 ●在动态网页程序的代码中可以完成各种程序逻辑控制、获取客户端传递的数据、对数据库进行操作、创建输出内容等功能,WEB程序开发就是使用某种编程语言来编写完成上述功能的动态网页程序。 ●动态网页程序需要有一个专门的WEB服务器程序模块来解释执行,专门解释和执行某种动态网页程序的WEB服务器程序模块习惯上被称为引擎,譬如ASP引擎、Servlet引擎、JSP引擎等。 ●只有引擎会与浏览器直接进行信息交换,动态网页程序不直接与浏览器进行信息交换,动态网页程序只与引擎进行信息交换,由引擎将浏览器的信息传递给动态网页程序和将动态网页程序生产的结果回送给浏览器。 ●引擎提供的API有两个基本的作用:一些API用于将访问请求的相关信息传递给动态网页程序;另一些API将动态网页程序产生的结果传递给引擎。 ●客户端向WEB服务器请求的URL资源路径,不仅可以指向服务器的一个静态HTML文件,还可以指向服务器端的某种可被解释运行的运行文件。 ●如果客户端请求的URL后缀名符合某种引擎所处理的资源名的特征,WEB服务将把请求转交给相应的引擎去处理,然后由引擎去调用某个程序文件,并将程序动态产生的内容返回给客户端。 ●动态网页程序文件中的代码不仅可以创建出用于返回给浏览器的动态变化内容,还可以实现对数据库的插入、修改、删除和查询等操作,从而让网站可实现论坛交流、产品订购、问卷调查、甚至是企业的整个管理信息系统等功能。 ●目前有不少公司提供了动态网页的解决方案,称为服务器端的WEB编程技术,常见的技术有CGI、ISAPI、ASP、.NET、Servlet/JSP、PHP等,这些技术分别使用不同的编程语言。 3.Servlet技术简介 ●Servlet技术是Sun公司提供的一种实现动态网页的解决方案,它是基于Java编程语言的WEB服务器端编程技术。 ●Servlet技术也是JSP技术的基础。 ●一个Servlet程序就是一个实现了特殊接口的Java类,它由支持Servlet的WEB服务器调用和启动运行。一个Servlet程序负责处理它所对应的一个或一组URL地址的访问请求,并接受客户端发出的访问请求信息和产生响应内容。 ●Applet是用于浏览器的Java小程序,Servlet是用于WEB服务器端的Java小程序。 ●Servlet程序可以完成普通Java程序所能完成的大多数任务: 获取客户端通过HTML的FORM表单递交的数据和URL后面的参数信息 创建对客户端的响应消息内容 访问服务器端的文件系统 连接数据库并开发基于数据库的应用 调用其他的JA V A类。

“servlet技术”单元习题

“Servlet技术”单元习题 一、填空题 1.___________是Sun公司推出的一种在服务器端运行的小程序,它的实质就是一个类,是一个能够使用print 语句产生动态HTML 内容的Java 类。 2.编译Servlet 之前,将Servlet 所需要的___________包添加到classpath 中。3.Java API 提供了___________和___________包为编写Servlet提供了接口和类。 4.在编写Servlet 时要用到的javax.servlet.HttpServlet 类为___________的子类。 5.Javax.servlet.GenericServlet 类为______________________类的子类,并且实现了 javax.servlet.Servlet 接口、javax.servlet.ServletConfig 接口和javax.io.Serializable 接口。 6.在doGet方法的参数中通常要用到______________________接口和 _________________________________接口。 7.一般情况下要用到的javax.servlet.http.HttpServletRequest 接口继承于 ______________________接口,而javax.servlet.http.HttpServletResponse接口继承于______________________接口。 8.______________________接口定义了Servlet 必须实现的方法。 9.______________________类提供Servlet 接口的HTTP 特定实现。 10.______________________接口的主要作用是获得客户端的请求信息。11.______________________接口的主要作用是获得与服务器端的响应信息。12.______________________接口的主要作用是与相应的Servlet 容器通信。13.______________________接口的主要作用是用于在Servlet 初始化时向它传递信息。 14.Servlet接口的______________________方法在服务器装入Servlet时执行,在Servlet 的生命周期中仅仅执行一次。 15.当客户请求一个HttpServlet 对象时,该对象的_____________________方法就要被调用。 16.Servlet 接口的______________________方法是在服务器停止且卸载Servlet 时执行的,通常用来将统计数字保存在文件中或关闭数据库连接。17.Servlet接口的______________________方法返回一个ServletConfig 对象,该对象用来返回初始化参数和ServletContext。 18.Servlet接口的______________________方法的主要功能是获得有关Servlet 的信息, 如作者、版本、版权信息。 19.HttpServlet 类的______________________方法的主要功能是由Servlet 引擎调用处理 一个HTTP GET 请求。 20.HttpServlet 类的______________________方法的主要功能是由Servlet 引擎调用处理一个HTTPPOST 请求。

Servlet技术概述

Servlet技术概述 Servlet是使用Java Servlet 应用程序设计接口(API)及相关类和方法的Java 程序。Java Servlet对于Web服务器,如同Java applet对于Web浏览器。Servlet被加载到Web服务器,并在Web服务器内执行。而applet加载到Web浏览器,并在Web浏览器内执行。Java Servlet API 定义了一个Servlet 和Java使能的服务器之间的一个标准接口,这使得Servlets具有跨服务器平台的特性。 Servlet通过创建一个框架来扩展服务器的能力,以提供在Web上进行请求和响应服务。当客户机发送请求至服务器时,服务器可以将请求信息发送给Servlet,并通过Servlet建立起服务器返回给客户机的响应。当启动Web服务器或客户机第一次请求服务时,可以自动加载Servlet程序。加载后,Servlet继续运行其它客户机发出的请求。Servlet涉及的范围很广,具体可完成如下功能: ●创建并返回一个包含基于请求的动态内容的JSP页面。 ●创建可嵌入到现有的HTML页面和JSP页面中的部分片段。与其他服务器资源(文件、 数据库、Applet、Java应用程序等)进行通信。 ●处理多个客户连接,接收多个客户的输入,并将结果发送到多个客户机上。 ●对特殊的处理采用MIME类型的过滤数据,例如图像转换。 ●将定制的处理提供给所有的服务器的标准例行程序。例如,Servlet可以设置如何认证 合法用户。 因此,Servlet技术在Java Web开发过程中,非常受欢迎。相比,Java Servlet 具有更高的效率,更容易使用等特点。 ●运行高效 在传统的CGI中,每个请求都要启动一个新的进程,如果CGI程序本身的执行时间较短,启动进程所需要的开销很可能反而超过实际执行时间。而在Servlet中,每个请求由一个轻量级的Java线程处理(而不是重量级的操作系统进程)。 ●使用方便 Servlet提供了大量的实用工具,如自动地解析和解码HTML表单数据、读取和设置HTTP头、处理Cookie、跟踪会话状态等。 ●功能强大 在Servlet中,许多使用传统CGI程序很难完成的任务都可以轻松地完成。例如,Servlet能够直接和Web服务器交互,而普通的CGI程序不能。Servlet还能够在各个程序之间共享数据,使得数据库连接池之类的功能很容易实现。 ●具有良好的移植性 Servlet基于Java编写规范,Servlet API具有完善的标准。因此,Servlet无需任何实质上的改动即可移植到Apache、Microsoft IIS或者WebStar等服务器平台。几乎所有的主流服务器都直接或通过插件支持Servlet。

Servlet入门指南

Servlet入门指南 1.简介 Servlet是在Web服务器端加载并运行的Java应用程序,具体运行在Servlet引擎管理的JVM上,负责Servlet和用户的通信以及调用Servlet的方法。Servlet和用户的通信采用请求/响应模式,用于以动态响应客户机请求形式扩展Web服务器(Web Container)的功能。 Servlet是一个执行在服务器端的Java Class文件,载入前必须先将Servlet程序代码编译成.class文件,然后将此class文件放在servlet Engline 路径下。Servlet API使用javax.servlet和javax.servlet.http两个包的接口类。Servlet是开发服务器端应用程序的一个很好选择, Servlet与JSP结合使用,能提供更强大的服务器端功能。 Servlet的最大的缺点是不能有效地管理页面的逻辑部分和页面的输出部分,导致Servlet代码非常混乱,而用JSP和JavaBean/Servlet结合可以有效地管理页面的逻辑部分和页面的输出部分。当服务器上的一个JSP网页被第一次请求执行时,服务器上的JSP引擎首先将JSP页面文件转译成一个Java文件,再将这个Java文件编译成class字节码文件(即Servlet类),然后执行以响应客户的请求,当这个JSP页面再次被请求执行时,JSP引擎将直接执行这个字节码文件来响应客户,响应速度比第一次执行快很多。 两者可以互相调用,一般Servlet较多应用于业务逻辑(页面HTML输出不多或没有),而JSP偏重于数据展现,同一份数据可以用不同形式的视图来展现。 2. 基本引擎分类 ●大多数的J2EE服务器,如:BEA WebLogic,WebSphere Application, JBoss等。 ●具有内置Servlet容器的Web服务器,如:Tomcat。 ●使用Servlet引擎插件的产品,如JRun、 Apache Web服务器、Microsoft IIS等,这些产品都需要安装Web插件来集成Java运行时环境 3. Servlet 处理请求的过程 1.用户从客户机将HTTP请求发送给Web服务器。

servlet技术简介

servlet技术简介 1.Servlet 是什么? Servlet是使用Java Servlet 应用程序设计接口(API)及相关类和方法的Java 程序。除了 Java Servlet API,Servlet 还可以使用用以扩展和添加到 API 的 Java 类软件包。Servlet 在启用 Java 的 Web 服务器上或应用服务器上运行并扩展了该服务器的能力。Java servlet对于Web服务器就好象Java applet 对于Web浏览器。Servlet装入Web服务器并在Web服务器内执行,而applet 装入Web浏览器并在Web浏览器内执行。Java Servlet API 定义了一个servlet 和Java使能的服务器之间的一个标准接口,这使得Servlets具有跨服务器平台的特性。 Servlet 通过创建一个框架来扩展服务器的能力,以提供在 Web 上进行请求和响应服务。当客户机发送请求至服务器时,服务器可以将请求信息发送给Servlet,并让 Servlet 建立起服务器返回给客户机的响应。当启动 Web 服务器或客户机第一次请求服务时,可以自动装入 Servlet。装入后, Servlet 继续运行直到其它客户机发出请求。Servlet 的功能涉及范围很广。例如,Servlet 可完成如下功能: (1) 创建并返回一个包含基于客户请求性质的动态内容的完整的 HTML页面。 (2) 创建可嵌入到现有 HTML 页面中的一部分 HTML 页面(HTML 片段)。 (3) 与其它服务器资源(包括数据库和基于 Java 的应用程序)进行通信。 (4) 用多个客户机处理连接,接收多个客户机的输入,并将结果广播到多个客户机上。例如,Servlet 可以是多参与者的游戏服务器。 (5) 当允许在单连接方式下传送数据的情况下,在浏览器上打开服务器至applet的新连接,并将该连 接保持在打开状态。当允许客户机和服务器简单、高效地执行会话的情况下,applet也可以启动客户浏览器和服务器之间的连接。可以通过定制协议或标准(如 IIOP)进行通信。 (6) 对特殊的处理采用 MIME 类型过滤数据,例如图像转换和服务器端包括(SSI)。 (7) 将定制的处理提供给所有服务器的标准例行程序。例如,Servlet 可以修改如何认证用户。 2.Servlet 的生命周期 Servlet 的生命周期始于将它装入 Web 服务器的内存时,并在终止或重新装入 Servlet 时结束。 (1) 初始化 在下列时刻装入 Servlet: 如果已配置自动装入选项,则在启动服务器时自动装入 在服务器启动后,客户机首次向 Servlet 发出请求时 重新装入 Servlet 时装入 Servlet 后,服务器创建一个 Servlet 实例并且调用 Servlet 的 init() 方法。在初始化阶段,Servlet 初始化参数被传递给Servlet 配置对象。 (2) 请求处理

servlet技术总结

Servlet(小服务程序)技术总结 Servlet简介及生命周期: servlet容器:就是你所有的应用服务器(如Tomcat),服务器的主要功能就是创建和维护servlet类所需的一些实例(如 doPost(HttpServletRequest req,HttpServletResponse res)中的req和res 对象及ServletContext对象,所以当你在不同的页面会话时,就不需自己创建这些对象,只要拿到这些对象用就行了),servlet容器就创建的 HttpSession对象,也就是你通过HttpSession session=res.getSession();所获取的对象。 Servlet被服务器实例化后,容器运行其init()方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doGet或者doPost方法等,当服务器决定将实例销毁的时候调用其destroy方法。 int(ServletConfig config):由于servlet初始化参数的使用非常依赖于部署描述文件(web.xml),该文件可存放servlet所需要的起始参数以及web应用程序的结构数据。当servlet容器读取web.xml文件内容后,封装成一个对象(这个对象就是ServletConfig对象传给了init方法)并在调用init方法时传递给servlet。 GenericServlet实现了ServletConfig接口与Servlet接口,它提供了两种init方法:

第一种init方法是Servlet接口中init()方法的实现,将 量中,然后调用第二种不带参数的init()方法。所以我们可以在Servlet内重写init方法,并通过ServletCongig对象来取得某些初始参数。

相关主题
文本预览
相关文档 最新文档