`
wzdoxu
  • 浏览: 93842 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Java Servlet概述

阅读更多
资料引用:http://www.knowsky.com/363817.html

Servlet是使用Java Servlet应用程序设计接口及相关类和方法的Java程序。它在Web服务器上或应用服务器上运行并扩展了该服务器的能力。Java Servlet对于Web服务器就似乎Java Applet对于Web浏览器。Applet装入Web浏览器并在Web浏览器内执行,而Servlet则是装入Web服务器并在Web服务器内执行。Java Servlet API 定义了Servlet和服务器之间的一个标准接口,这使得Servlet具有跨服务器平台的特性。

    Servlet通过创建一个框架扩展服务器的能力,采用请求-响应模式提供Web服务。当客户机发送请求至服务器时,服务器将请求信息发送给Servlet,Servlet生成响应内容并将其传给Server,然后再由Server将响应返回给客户端。

    Servlet的功能

    Servlet的功能涉及范围很广。例如,Servlet可完成如下功能:

创建并返回一个包含基于客户请求性质的动态内容的完整的 Html页面。

创建可嵌入到现有 HTML 页面中的一部分 HTML 页面(HTML 片段)。与其他服务器资源(文件、数据库、Applet、Java应用程序等)进行通信。

用多个客户机处理连接,接受多个客户机的输入,并将结果广播到多个客户机上。例如,Servlet 可以是多参与者的游戏服务器。

答应在单连接方式下传送数据的情况下,在浏览器上打开服务器至Applet的新连接,并将该连接保持在打开状态。答应客户机和服务器简单、高效地执行会话的情况下,Applet也可以启动客户浏览器和服务器之间的连接。可以通过定制协议或标准(如 IIOP)进行通信。

对非凡的处理采用 MIME 类型过滤数据,例如图像转换和服务器端(包括SSI)。

将定制的处理提供给所有服务器的标准例行程序。例如,Servlet 可以修改如何认证用户。


    Java Servlet与现有网络技术的差别

    那么Java Servlet与一些现有的网络技术有什么具体的差别呢?
Java Servlet与Applet之间的差别 从基本上来说,Servlet与 Applet 是截然相反的。Servlet可以被视为服务器方面的 Applet。Servlet在网络服务器内运行而Applet在网络浏览器内运行。浏览器提交一个请求执行Servlet的命令;而由于浏览器可直接命令Applet,所以它可以在运行时单机运行。

Java Servlet与CGI之间的差别 与传统的CGI和许多其他类似CGI的技术相比,Java Servlet具有更高的效率,更轻易使用,功能更强大,具有更好的可移植性,更节省投资。其中最大的区别是在性能方面。


    在传统的CGI中,每个请求都要启动一个新的进程,假如CGI程序本身的执行时间较短,启动进程所需要的开销很可能反而超过实际执行时间。而使用Servlet时,服务器上仅有一个Java虚拟机在运行,只有当Servlet被调用时,它才被加载,且直到Servlet更改时,它才会被再次加载。在传统CGI中,假如有N个并发的对同一CGI程序的请求,则该CGI程序的代码在内存中重复装载了N次;而对于Servlet,处理请求的是N个线程,只需要一份Servlet类代码。在性能优化方面,Servlet也比CGI有着更多的选择,比如缓冲以前的计算结果,保持数据库连接的活动,等等。

    通过使用Servlet API,开发人员不必担心服务器的内部运作方式。表格资料、服务器头、cookies等皆可通过Servlet处理。另外,因为Servlet是用Java写的,能将其从一个服务器移到另一个服务器以供发布,同时不必担心操作系统或服务器的类型。这一优点充分体现了Java"一次编写,随处运行"的优越特性。

    Servlet的生命周期

    Servlet的生命周期定义了一个Servlet如何被加载、初始化,以及它怎样接收请求、响应请求、提供服务。

    在代码中,Servlet生命周期由接口javax.servlet.Servlet定义。所有的Java Servlet 必须直接或间接地实现javax.servlet.Servlet接口,这样才能在Servlet Engine上运行。Servlet Engine提供network Service,响应MIME request,运行Servlet Container。 javax.servlet.Servlet接口定义了一些方法,在Servlet 的生命周期中,这些方法会在特定时间按照一定的顺序被调用。如图14-1所示。



电子商务需要满足具有交互性、动态性和快捷性的要求,Web页面应该具有动态性,能够为客户提供有价值的新的信息,服务器端的Java程序是实现这些性能的要害,而Java Servlets就是创建这类站点的有效办法。Java Servlets是基于Java技术的Web组件,用来扩展以请求/响应为模型的服务器的能力。它可以响应任何类型的请求,但我们通常使用HTTP Servlets处理HTTP请求(request)和提供HTTP响应(response)。

    本专题主要介绍如下内容:

    Java Servlet概述
    Servlet是使用Java Servlet应用程序设计接口及相关类和方法的Java程序。它在Web服务器上或应用服务器上运行并扩展了该服务器的能力。Java Servlet对于Web服务器就似乎Java Applet对于Web浏览器。Applet装入Web浏览器并在Web浏览器内执行,而Servlet则是装入Web服务器并在Web服务器内执行。Java Servlet API 定义了Servlet和服务器之间的一个标准接口,这使得Servlet具有跨服务器平台的特性。

    编写HTTP Servlet程序
    在编写Servlet 时需要用到两个用于所有 Servlet 的基本软件包:javax.servlet 和 javax.servlet.http。下面主要介绍javax.servlet.http提供的HTTP Servlet应用编程接口。
实例:一个简单的Servlet程序
    HTTP POST/GET请求
    对于HTTP Servlets,正确提供响应的过程是首先填写响应(response)的头信息,然后从响应(response)中得到输出流,最后向输出流中写入内容信息。响应(response)头信息必须最先设置。下面将描述如何从请求(request)中获得信息和产生HTTP响应(response)。
实例:Servlet处理POST请求
    会话跟踪
    会话跟踪是一种灵活、轻便的机制,它使在页面上的状态编程变为可能。HTTP是一种无状态协议,每当用户发出请求时,服务器就做出响应,客户端与服务器之间的联系是离散的、非连续的。当用户在同一网站的多个页面之间转换时,根本无法知道是否是同一个客户,会话跟踪就可以解决这个问题。当一个客户在多个页面间切换时,服务器会保存该用户的信息。

    Cookie的应用
    Cookie是一小块可以嵌入HTTP请求和响应的数据。它在服务器上产生,并作为响应头域的一部分返回给客户。浏览器在收到有Cookie的响应后,会把Cookie的内容以"要害字/值"的形式写入到一个专为存放Cookie的文本文件中。浏览器会把Cookie的信息与请求发送给服务器,这样服务器就可以再次读取Cookie中存放的数据了。Cookie可以对有效期进行设置,浏览器不会把过期的Cookie发送给服务器。

    Filter Servlet
    在本节,我们将介绍Servlet常用的使用方法之一:作为过滤器。在Servlet作为过滤器使用时,它可以对客户的请求进行过滤处理,当它处理完成后,它会交给下一个过滤器处理,就这样,客户的请求在过滤链里一个个处理,直到请求发送到目标。

    Listener Servlet
    Listener是Servlet的监听器,它可以监听客户端的请求、服务端的操作等。通过监听器,可以自动激发一些操作,比如监听在线的用户的数量。当增加一个HttpSession时,就激发sessionCreated(HttpSessionEvent se)方法,这样就可以给在线人数加1。常用的监听接口有以下几个:

    小 结

    Java Servlets是基于Java技术的Web组件,用来扩展以请求/响应为模型的服务器的能力,以满足当前电子商务需要具有交互性、动态性和快捷性的要求。

    本章从Java Servlet的概念入手,介绍了其功能、生命周期、结构,以及与其他网络语言的区别。然后通过示例介绍了POST处理、GET处理、会话跟踪,以及Cookie的应用Filter Servler和Listener Servlet的应用。
  • 大小: 27.5 KB
分享到:
评论

相关推荐

    Java中的Servlet基本概述

    Java中的Servlet基本概述电子书籍

    深入Java Servlet网络编程

    第2章 Java Servlet简介 2. 1 Servlet生命周期 2. 2 Java Servlet API简介 2. 3 处理表单和返回数据的实例 2. 4 错误处理和日志记录 2. 4. 1 Java中的异常处理机制 2. 4. 2 在Java Servlet中处理异常 2. 4. 3...

    Java_Servlet技术概述和实例

    Java_Servlet技术概述和实例,Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。 它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用...

    第10章 Java Servlet技术.ppt

    主要内容: Servlet概述 如何编写Servlet Servlet与客户端的交互 Servlet过滤器 Servlet监听器

    Java语言基础下载

    Java Servlet概述 554 Servlet能够做什么 554 Servlet的生命周期 557 Java Servlet API 560 Web上使用的HTTP Servlet 560 处理HTTP Servlet的关键方法 560 其它相关接口的说明 561 HTTP协议基本概念及其特点 563 ...

    Servlet Jsp 技术概述

    Servlet Jsp 技术概述 是一套完整的Servlet/Jsp 技术学习资料,附示例代码 个人感觉很不错

    Servlet概述和入门.pdf

    1、Servlet 是 JavaEE的规范之一。(规范就是接口) 2、Servlet是 三大组件之一。 JavaWeb 三大组件分别是...3、Servlet 是运行在服务器上的一个 java 小程序,它可以接收客户端发送过来的请求,并响应 数据给客户端。

    第1章-Java语言概述-Java面向对象程序设计教程-微课视频版-程杰-清华大学出版社.pptx

    在这一年中Sun发布了JSP/Servlet、EJB规范以及将Java分成了J2EE、J2SE和J2ME。标志着Java已经吹响了向企业、桌面和移动3个领域进军的号角。 1.1 Java的诞生与发展 第1章-Java语言概述-Java面向对象程序设计教程-微课...

    Java Web整合开发王者归来(JSP+Servlet+Struts+Hibernate+Spring)

    《Java Web整合开发王者归来(JSP+Servlet+Struts+Hibernate+Spring)》全面介绍了Java Web开发中的各种相关技术及知识。全书分为9篇,内容层次清晰,难度循序渐进。第1篇为入门篇,内容包括Java Web开发概述等;第2篇...

    How Tomcat Works: A Guide to Developing Your Own Java Servlet Container

    8.2 java本身的loader 52 8.3 Loader接口 53 8.4 Reloader接口 54 8.5 WebappLoader类 54 8.5.1 创建类载入器 55 8.5.2 设置repository 55 8.5.3 设置类路径 56 8.5.4 设置访问权限 56 8.5.5 开启新线程执行类的重新...

    servlet概述

    结合实例讲解了sevlet的基本概念和应用

    Android开发案例驱动教程 配套代码

    15.4.1 Java Servlet概述 387 15.4.2 编写城市信息服务的Servlet 388 15.4.3 编写城市天气服务的Servlet 393 15.4.4 再次探讨HttpClient的POST请求 395 15.5 云端应用案例优化 400 本章小结 404 第16章 Google...

    JavaWeb中的Servlet概述,帮助初学者认识何为Servlet

    一、JavaWeb介绍 1、Web ...的、动态交互的、跨平台的分布式图形信息系统。是建立在Internet上的一种网络服务,为浏览者在 Internet上查找和浏览信息提供了图形化的、易于访问的直观界面,其中的文档及超级链接将...

    《Java Web程序设计任务教程》-章节习题.docx 第1章网页开发基础 2.Java Web概述等

    第二章Java Web概述 1.XML称为可扩展的标记性语言,格式良好的XML有且只能有【 】个根元素。 2.Tomcat服务器的默认端口号是【 】。 3.定义元素的属性时,有四种设置说明:#REQUIRED ,#IMPLIED,【 】和默认值。 第3...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。.  本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...

    Servlet java

    Web编程模型 Http协议 Get请求和Post请求 Servlet概述 Web服务器 Servlet的配置文件 Servlet的调用过程 Servlet的接口 Web容器概述 Web容器实现

    Servlet概述的详细文档,帮助初学者认识何为servlet

    # 一、JavaWeb介绍 ## 1、Web ...是建立在**Internet**上的一种网络服务,为浏览者在Internet上查找和浏览信息提供了图形化的、易于访问的直观界面,其中的文档及超级链接将Internet上的信息节点组织成一个互为关联的...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。.  本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...

    基于 servlet 实现的博客系统

    整个系统使用Java Servlet技术作为后端处理逻辑,并采用MVC(Model-View-Controller)架构。 技术栈: Java Servlet MySQL(用于存储用户信息、博客内容等数据) JSP(JavaServer Pages)用于前端页面渲染 Tomcat...

    Java.Servlets编程指南

    第1章 servlet概述第2章 Java Web服务器第3章 第一个servlet 第4章 servlet链第5章 servlet-side Includes 第6章 会话管理第7章 安全性 第8章 HTML表单第9章 在servlet中使用JDBC 第10章 applet与servlet的通信第11...

Global site tag (gtag.js) - Google Analytics