深入浅出Servlet and JSP翻譯節選
作者: Kathy Sierra and Bert Bates
为什么使用Servlet&JSP?
Web应用炙手可热。确实,GUI应用可以使用一些新奇古怪的Swing组件,不过,你知道有几个GUI应用能由全世界数百万的用户使用?作为一个Web应用开发人员,不用像对付独立应用那样,亲自处理棘手的部署问题,完全通过浏览器把你的应用交付给任何人。不过,要构建一个真正强大的Web应用,你还需要一些帮手,这就是Java、Servlet和JSP。因为原先普通的静态HTML页面太……怎么说呢,只能算是1999年的老古董了。如今,用户需要的网站应该是动态的、交互式的,而且应该能够由客户定制。通过后面的介绍,你会理解如何把Web网站变成真正的Web应用。
Servle&JSP概述
对于每一种HTTP方法(如GET、POST、HEAD等):
* 介绍这种HTTP方法的优点
* 介绍这种HTTP方法的功能
* 列出客户(通常是一个Web浏览器)会出于哪些原因使用这个方法
* 明确与各个HTTP方法对应的HttpServlet方法
每个人都想有个网站
你可能想要一个超级网站。要打败竞争对手,你需要一个灵活而且可扩展的体系结构。这就需要Servelt和JSP。
在构建具体的Web应用之前,先让我们远远地看看WWW(万维网)是什么。这一章最关心的就是Web客户和Web服务器怎么对话。
后面几页的内容对你来说可能并不陌生,特别是如果你已经是一个Web应用开发人员,肯定早就知道这些了。不过,通过这些介绍,我们会提到本书中将要用到的一些术语。
Web 包括数以万计的客户(使用像Muzilla或Safari之类的浏览器)和服务器(使用Apache等等Web服务器应用),这些客户和服务器之间通过有线和无线网络连接。我们的目标就是构建一个全世界客户都能访问的Web应用。直白一点,就是要挣大钱。
你的Web服务器做些什么?
Web服务器接收客户请求,然后向客户返回一些结果。
用户可以通过Web浏览器请求一个资源。Web服务器得到请求后,查找资源,然后向用户返回一个错误。有时资源可能是一个HTNL页面,有时可能是一个图片,甚至是一个PDF文档。具体是什么没有关系,总之都是介乎请求某个东西(资源),再由服务器返回请求的资源。
除非没有这样一个资源,或者至少资源不在服务器原来预想的位置上,此时就会显示一个“404 Not Founf(404: 未找到)”这个错误,这个错误你肯定已经很熟悉了。如果服务器找不到你请求的东西,它就会给你这样一个响应。
谈到“服务器”时,可能是指物理主机(硬件),也可能是指Web服务器应用(软件)。在这本书里,如果要区别服务器硬件和软件,我们会特别指出所说的到底是硬件还是软件。
客户的请求包含客户所找资料的名字和地址(URL)。
服务器通常有很多可以发给客户的“内容”。这些内容可能是Web页面,JPEG图片和其他资源。
服务器的响应包含客户所请求的具体文档(如果无法处理客户的请求,就会返回一个错误码)。
Web客户做些什么?
Web客户允许用户请求服务器上的某个资源,并且向用户显示请求的结果。
谈到客户时,通常是指人类客户,或者浏览器应用,也可能二者都包括。
浏览器就是一个软件(比如Netscape或Mozilla),它知道怎么与服务器通信。浏览器还有一个重要的任务,这就是解释HTML代码,并把Web页面呈现给客户。
所以,从现在开始,如果我们说到“客户”,通常并不强调指的是人类用户还是浏览器应用。换句话说,我们所说的客户就是浏览器应用,它能完成用户指定的任务。
用户在浏览器上点击一个链接→浏览器对请求格式化并把它发送给服务器。→服务器找到所请求的页面→服务器对响应格式化,并发送给客户(浏览器)→浏览器得到HTML,并显示给用户。
客户和服务器都知道HTML和HTTP
HTML
当服务器对一个请求做出回答时,通常会向浏览器发送某种类型的内容,以便浏览器显示。服务器一般会向浏览器发送一组用HTML编写的指令,HTML就是超文本标记语言。HTML告诉浏览器怎样把内容呈现给用户。
所有Web浏览器都知道如何处理HTML,不过,如果页面是用更新版本的HTML编写的,有时老版本的浏览器可能无法完全理解。
HTTP
Web上客户和服务器之间的大多数会话都是使用HTTP协议完成的,HTTP协议支持简单的请求和响应会话。客户发送一个HTTP请求,服务器会用一个HTTP响应作出应答。关键是:如果你是一个Web服务器,就必须讲HTTP。
Web服务器向客户发送HTML页面时,就是使用HTTP发送的(通过后面几页的详细介绍,你会了解这是怎么做到的)。
HTML告诉浏览器怎样向用户显示内容。
HTTP是Web上客户和服务器之间进行通信所用的协议。
服务器使用HTTP向客户发送HTML。
HTML速成指南
开发Web页面时,就是用HTML描述页面应该是什么样子,以及它有怎样的表现。
HTML包含数十个标记,还有成百上千个标记属性。HTML的目标是拿到一个文本文档,然后为它增加一些标记,告诉浏览器如何对这个文本格式化。下面列出了后面几章我们将要使用的一些标记,如果你想更全面地了解HTML,建议你读一读《HTML&XHTML TheDefinitive Guide》。
标记 描述
在这里
行分隔