转自:http://www.journaldev.com/1854/java-web-application-tutorial-for-beginners#web-server-client
Why we need Servlet and JSPs?
First Web Application with Servlet and JSP
Web Container
Web Application Directory Structure
Deployment Descriptor
Web服务器是一种可以处理客户端请求(request)并将响应(response)发送回客户端的软件。例如,Apache是最广泛使用的Web服务器之一。Web服务器在某些物理机器上运行,并在特定端口上侦听客户端请求。
Web客户端是一种有助于与服务器通信的软件。一些最广泛使用的Web客户端是Firefox,Google Chrome,Safari等。当我们从服务器(通过URL)请求某些东西时,Web客户端将负责创建请求并将其发送到服务器,然后解析服务器响应并显示给用户。
Web服务器和Web客户端是两个独立的软件,所以应该有一些通用的通用语言。HTML是服务器和客户端之间的通用语言,即Hyper Text Markup Language(超文本标记语言)。
Web服务器和客户端都需要一个公共通信协议,超文本传输协议(HTTP,HyperText Transfer Protocol)是服务器和客户端之间的通信协议。HTTP运行在TCP/IP通信协议之上。
1、HTTP请求的一些重要部分是:
- HTTP Method – 要执行的操作,通常是GET,POST,PUT等
- URL – 要访问的页面
- Form Parameters – 类似于函数的参数,例如用于登陆的户名、密码等详细信息
HTTP请求示例:
GET /FirstServletProject/jsps/hello.jsp HTTP/1.1
Host: localhost:8080
Cache-Control: no-cache
2、HTTP响应的一些重要部分是:
- Status Code – 指示请求是否成功的整数。一些众所周知的状态码:“success”为200,“Not Found”为404,“Access Forbidden”为403
- Content Type – 文本,HTML,图像,pdf等,也被称为MIME类型
- Content – 由客户端呈现并向用户显示的实际数据
HTTP响应示例:
200 OK Date: Wed, 07 Aug 2013 19:55:50 GMT Server: Apache-Coyote/1.1 Content-Length: 309 Content-Type: text/html;charset=US-ASCII <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <title>Hello</title> </head> <body> <h2>Hi There!</h2> <br> <h3>Date=Wed Aug 07 12:57:55 PDT 2013 </h3> </body> </html>
MIME Type 或 Content Type:上面HTTP响应的头部,包含“Content-Type”标签。它也被叫做MIME类型,服务器将其发送给客户端,让他们知道它发送的数据种类。它帮助客户端呈现用户数据。一些主要使用的MIME类型是text/html,text/xml,application/xml等。
URL是Universal Resource Locator(通用资源定位器)的缩写,它用于查找服务器和资源。网络上的每个资源都有自己独一无二的地址。我们通过一个例子来看一下URL的组成。
http://localhost:8080/FirstServletProject/jsps/hello.jsp
http:// - 这是URL的第一部分,提供了在服务器-客户端通信中所使用的通信协议。
localhost -
First Web Application with Servlet and JSP