第一章 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是什么
这几天,看到一本书,<程序是怎么跑起来的>,觉得之前都没有完整的看完一本书,现在要从这本书开始,慢慢的培养自己写读书笔记的习惯,不能度过去就忘了. 学习是一个螺旋上升的过程,不要指望一下子 ...
随机推荐
- 【BZOJ 1087】【SCOI 2005】互不侵犯King
http://www.lydsy.com/JudgeOnline/problem.php?id=1087 很简单的状压,需要预处理,我两个状态可不可以挨着的预处理出错WA了好几次. 这个位运算预处理好 ...
- perl 模块安装
You can check if you have them installed in your machine with: > perl -e 1 -M<module> It wi ...
- Hadoop中pid文件存储
我的hadoop集群部署在自己电脑虚拟机上,有时候我是挂起虚拟机,第二天再打开发现有些线程就挂了,比如namenode,好奇怪,当时看了一些帖子说是和pid存储有关,找到log看到找不到pid.因为基 ...
- Git for Windows - The Program can't start because libiconv2.dll is missing
今天在新装的win10 预览版上面,发现git不能启动了,提示信息主要是: The Program can't start because libiconv2.dll is missing 于是我在网 ...
- 求n!质因数分解之后素数a的个数
n!质因数分解后P的个数=n/p+n/(p*p)+n/(p*p*p)+......直到n<p*p*p*...*p //主要代码,就这么点东西,数学真是厉害啊!幸亏我早早的就退了数学2333 do ...
- Nginx反向代理tomcat,seesion会话保持。
proxy_pass http://10.0.0.10:8081/monitor/; proxy_cookie_path /monitor/ /; proxy_set_header Host &quo ...
- 优化Table View
优化Table View Table view需要有很好的滚动性能,不然用户会在滚动过程中发现动画的瑕疵. 为了保证table view平滑滚动,确保你采取了以下的措施: 正确使用`reuseIden ...
- "Emgu.CV.CvInvoke”的类型初始值设定项引发异常 解决办法
系统win7 32位,只在这一台电脑上出现这种问题,已知VS编译是X86,在数台电脑上测试都正常. 后来把opencv的dll路径例如 E:\...\x86 加入到系统环境变量中就正常了. emgu ...
- panel的展开,关闭的一种应用。
js: <script type="text/javascript"> $('#p2').panel({ title: 'panel1', closable: fals ...
- 初探微信小程序
摘要 最近闲下来了,就准备了解下微信小程序的内容.首先从目录结构开始吧. 创建项目 工具下载:https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/do ...