电子商务需要满足具有交互性、动态性和快捷性的要求,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的应用FilterServler和Listener Servlet的应用。