Servlet/JSP应用框架
- Java Servlet技术简称Servlet技术,是Java开发Web应用的底层技术,一个Servlet应用有一个或多个Servlet程序。JSP页面会被转换和编译成Servlet程序。
- Servlet应用无法独立运行,必须在Servlet容器中。Servlet容器将用户的请求传递给Servlet应用,并将结果返回给用户。由于大部分Servlet应用都包含多个JSP页面,因此更准确地说是Servlet/JSP应用。
- Web用户通过Web浏览器例如IE、Chrome等来访问Servlet应用。通常,Web浏览器又叫Web客户端。
- Servlet/JSP容器是一个可以同时处理Servlet和静态内容的Web容器。
- Servlet/JSP只是Java EE众多技术中的两个,其他Java EE技术还有Java消息服务、企业Java对象、JavaServer Faces以及Java持久化等,完整的Java EE集数列表可以访问如下地址:http://www.oracle.com/technetwork/java/javaee/tech/index.html
- 要运行Java EE应用,需要一个Java EE容器,例如GlassFish、JBoss、Oracle、Weblogic或者IBM WebSphere。诚然我们可以将一个Servlet/JSP应用部署到一个Java EE 容器上,但一个Servlet/JSP容器就已经满足需要了,并且更加轻量。当然,Tomcat和Jetty不是Java EE容器,因此无法运行EJB或JMS技术。
HTTP
- HTTP协议使得Web服务器与浏览器之间可以通过互联网或内网进行数据交互。万维网(W3C),作为一个指定标准的国际社区,负责和维护HTTP协议。HTTP第一版是0.9,之后是HTTP1.0,当前最新版本的下载地址:http://www.w3.org。
- Web服务器7×24小时不间断运行,并等待HTTp客户端来连接并请求资源。通常由客户端发起一个连接,服务器不会主动连接客户端。
注意: 2011年,标准化组织IETF发布了WebSocket协议,即RFC 6455规范。该协议允许一个HTTP连接升级为WebSocket连接,支持双向通信,这就是的服务端可以通过WebSocket协议主动发起统客户端的会话通信。 - 互联网用户需要通过点击或输入一个URL连接或地址来访问一个资源。例如:http://google.com/index.html
http://facebook.com/index.html
URL的第一个部分是http,代表所采用的协议。除HTTP协议外,URL还可以采用其他类型的协议,如下为两个示例:
mailto:joe@example.com
ftp://marketing@ftp.example.org
通常,HTTP的URL格式如下:
protocol://[host.]domain[:port][/context][/resource][?query string]
或者
protocol:/IP address[:port][/context][/resource][?query string]
中括号中的内容是可选的,因此一个最简单的URL是http://yahoo.ca或者http://192.168.1.9。
需要说明的是,由于IP地址不容易记忆,事件中更倾向于是哟个域名,一台计算机可以托管不止一个域名,因此不同的域名可能指向同一个IP。零位,example.com或者example.org无法被注册,因为他们被保留作为各类文档手册举例使用。 - HTTP的默认端口号是80端口。因此,对于采用80断口的Web服务器,可以无需输入端口号。但有时候,Web服务器并未运行在80端口上,此时必须输入相应的端口号。例如Tomcat服务器的默认端口号是8080,为了能正确访问,必须提供输入端口号:
http://localhost:8080
localhost作为一个保留关键字,用于指向本机。
HTTP请求
- 一个HTTP请求包含三部分:
- List item方法——URI——协议/版本
- 请求头信息
- 请求正文
- HTTP1.1规范定义了7种类型的方法,包括GET、POST、HEAD、OPTIONS、PUT、DELETE以及TRACE,其中GET和POST广泛应用于互联网使用。
HTTP响应
- 一个HTTP响应包含三部分:
- 协议——状态码——描述
- 响应头信息
- 响应正文
- HTTP响应报文的响应正文是HTML文档。HTTP响应保温的头信息和响应正文也是用CRLF分隔的。
- 状态码200表示Web服务器能正确响应所请求的资源。若一个请求的资源不能被找到或者理解,则Web服务器将返回不同的状态代码。例如:访问未授权的资源将返回401,而使用被禁用的请求方法将返回405.完整的HTTO响应状态代码咧白哦详见如下网址:
http://www.w3.org/Protocols/rfc2626/rfc2616-sec10.html