第一章 Web应用程序简介
- 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的缩写,模型、视图、控制器,分别代表应用程序的三种职责各不相同的对象。


控制器:取得请求参数、验证请求参数、转发请求给模型、转发请求给画面,这些都是程序代码来实现
模型:接受控制器的请求调用,负责处理业务逻辑、负责数据存取逻辑等
视图:接受控制器的请求调用,会从模型提取运算后的结果
第一章 Web应用程序简介的更多相关文章
- 第一章 web应用程序开发原理
[总结] 1.计算机模式 :主机 哑端计算机模式 优点:速度快 反应快 维护修理方便 数据安全性高 缺点:单台计算机安全操作 应用程序难维护 难以跨出平台 客户端 客户计算机模式 优点:速度快 ...
- 第一章 Web应用程序开发基础
一.HTTP协议工作机制 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议.它是一种主流B/S架构中应用的通信 ...
- 第一章ASP.NET SignalR简介
第一章ASP.NET SignalR简介 1.1概述: ASP.NET SignalR是微软新开发的类库,为的是帮助ASP.NET开发人员很方便地开发实时网络功能. SignalR允许服务器端和客户端 ...
- 核心系统命令实战 第一章Linux命令行简介
第一章Linux命令行简介 1.1 Linux命令行概述 1.1.1 Linux 命令行的开启和退出 开启:登陆账号密码进入系统 退出:exit/logout 快捷键:Ctrl+d 1.1.2 Li ...
- 第一章、PyQt的简介、安装与配置
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 第一章.PyQt的简介.安装与配置 一.引言 当朋友向我推荐PyQt时,老猿才知道有这样一个在Pyt ...
- Go Web 编程 第一章 Web相关概念
第一章 Go与Web应用 Go学习群:415660935 1.1 Web应用 在计算机的世界里,应用(application)是一个与用户进行交互,并完成用户特定任务的软件程序.而Web应用则是部署在 ...
- 第一章 权限管理DEMO简介
源代码GitHub:https://github.com/ZhaoRd/Zrd_0001_AuthorityManagement 1.系列介绍 工作已有五年之久,一直有想通过博客写点自己知道的,在博客 ...
- Java Web程序设计笔记 • 【第1章 Web应用程序】
全部章节 >>>> 本章目录 1.1 Web 应用程序 1.1.1 Web 应用程序概述 1.1.2 Web 应用程序的工作原理 1.1.3 实践练习 1.2 HTTP协议 ...
- (第一章)对程序员来说CPU是什么
这几天,看到一本书,<程序是怎么跑起来的>,觉得之前都没有完整的看完一本书,现在要从这本书开始,慢慢的培养自己写读书笔记的习惯,不能度过去就忘了. 学习是一个螺旋上升的过程,不要指望一下子 ...
随机推荐
- 循环队列java实现
public class SeqHeap { Object[] data; int font; int rear; int maxSize; public SeqHeap(int maxSize) { ...
- React2
1.属性 a. 属性和状态是react中数据传递的载体: b. 属性是声明以后不允许被修改的东西: c. 属性只能在组件初始化的时候声明并传入组件内部,并且在组件内部通过this.props获取: d ...
- 红米3 TWRP-3.0.2(android_6.0.1_r72分支)中文版Recovery更新于20161018
TWRP3.0.2更新简介 TWRP是TeamWin团队https://github.com/TeamWin/Team-Win-Recovery-Project的开源项目,也是Omnirom系统默认的 ...
- Python终端如何输出彩色字体
实现过程: 终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关. 转义序列是以ESC开头,即用\033来完成(ESC的ASCII码用十进制表示是27 ...
- Android实现透明式状态栏
Android实现透明式状态栏 1. 修改style样式 2. 创建values-v19文件夹 3. 在这个文件夹下创建style.xml 4. 对activity_main.xml进行修改 移 ...
- 搭建spring mvc项目
在之前搭建maven项目这篇的基础上继续集成,引入spring mvc支持 一.添加jar包引用 修改pom.xml文件,加入:(其他关联的jar包maven会自动引用) <!-- 项目属性 - ...
- <<< jquery向id元素后面动态添加元素
html代码: <div id="main"> <div>1</div> <div>1</div> </div&g ...
- HDFS中JAVA API的使用
HDFS中JAVA API的使用 HDFS是一个分布式文件系统,既然是文件系统,就可以对其文件进行操作,比如说新建文件.删除文件.读取文件内容等操作.下面记录一下使用JAVA API对HDFS中的 ...
- Debian 8中dpkg -i自动解决依赖关系
dpkg -i 后#apt-get update &&apt-get -f install
- C# GUID转换成16位字符串或19位数字并确保唯一
/// <summary> /// 根据GUID获取16位的唯一字符串 /// </summary> /// <param name=\"guid\" ...