- 1.1 Web应用程序基础知识
URL、URN与URI
URL:Uniform Resource Locator
URN:Uniform Resource Name
URI:Uniform Resource Identifier
HTTP协议指架构在TCP/IP之上应用层的一种协议。通信协议基本就是两台计算机间对谈沟通的方式。按不同的联机方式与所使用的网络服务而定,会有不同的通信协议。如,发送信件是会用SMTP(Simple Mail Transfer Protocol),传输文件时用FTP,下载信件时使用POP3(Post Office Protocal 3)等,而浏览器跟Web服务器之间使用的沟通方式则是HTTP。
HTTP两个基本特性:基于请求/响应模型、无状态通信协议
HTTP是一种基于请求/响应的通信协议,客户端对服务器发出一个取得资源的请求,服务器将要求的资源响应给客户端,每次的联机只做一次请求/响应,没有请求就没有响应。
在HTTP协议下,服务器响应客户端后,就不会记得客户端的信息,更不会去维护与客户端有关的状态,因此,HTTP又称为无状态的通信协议。
1、GET请求
GET请求就是向服务器取得指定资源,在发出GET请求时,必须一并告诉服务器所请求资源的URL,以及一些标头信息。
2、POST请求
POST请求就是在请求时发布信息给服务器,对于大量或复杂的信息发送,基本上会用POST发送。
3、如何选用GET或POST?
GET请求与POST请求是使用Servlet/JSP时最常用的两个请求方式。
GET请求跟随在URL之后的请求参数长度是有限的
GET请求的请求参数会出现在地址栏上,敏感性或有安全性考虑的请求不用GET
POST请求的请求参数不会出现在地址栏上,所以无法加入浏览器的书签之中
GET请求应该用于等幂操作,同样的请求返回的结果不变
POST请求应该用于非等幂操作,请求会改变服务器的状态
动态网页与静态网页
静态网页:指请求服务器上的网页时,服务器不对网页文件作任何处理,读取文件后直接当作响应传给浏览器。
动态网页:指服务器在响应之前,可能先依客户端的请求参数、标头或实际服务器上的状态,以程序的方式动态产生相应内容,再回传给用户。
- 1.2 Servlet/JSP简介
何谓Web容器
对于Java程序而言,JVM是其操作系统,.java文件会编译成可执行的.class文件。
容器的角色定位
下面是一个请求/响应的例子:
(1)客户端对Web服务器发出HTTP请求
(2)HTTP服务器收到HTTP请求,将请求转由Web容器处理,Web容器会剖析HTTP请求内容,创建各种对象(HttpServletResponse...)
(3)Web容器由请求的URL决定要使用哪个Servlet来处理
(4)Servlet根据请求对象的信息决定如何处理,通过响应对象来创建响应
(5)Web容器与HTTP服务器沟通,Web服务器将响应转换为HTTP响应并传回给客户端
关于MVC/Model 2
MVC是Model、View、Controller的缩写,模型、视图、控制器,分别代表应用程序的三种职责各不相同的对象。
控制器:取得请求参数、验证请求参数、转发请求给模型、转发请求给画面,这些都是程序代码来实现
模型:接受控制器的请求调用,负责处理业务逻辑、负责数据存取逻辑等
视图:接受控制器的请求调用,会从模型提取运算后的结果