• 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应用程序简介的更多相关文章

  1. 第一章 web应用程序开发原理

    [总结] 1.计算机模式  :主机  哑端计算机模式 优点:速度快  反应快 维护修理方便 数据安全性高 缺点:单台计算机安全操作 应用程序难维护 难以跨出平台 客户端 客户计算机模式 优点:速度快 ...

  2. 第一章 Web应用程序开发基础

    一.HTTP协议工作机制 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议.它是一种主流B/S架构中应用的通信 ...

  3. 第一章ASP.NET SignalR简介

    第一章ASP.NET SignalR简介 1.1概述: ASP.NET SignalR是微软新开发的类库,为的是帮助ASP.NET开发人员很方便地开发实时网络功能. SignalR允许服务器端和客户端 ...

  4. 核心系统命令实战 第一章Linux命令行简介

    第一章Linux命令行简介 1.1 Linux命令行概述 1.1.1 Linux 命令行的开启和退出 开启:登陆账号密码进入系统 退出:exit/logout  快捷键:Ctrl+d 1.1.2 Li ...

  5. 第一章、PyQt的简介、安装与配置

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 第一章.PyQt的简介.安装与配置 一.引言 当朋友向我推荐PyQt时,老猿才知道有这样一个在Pyt ...

  6. Go Web 编程 第一章 Web相关概念

    第一章 Go与Web应用 Go学习群:415660935 1.1 Web应用 在计算机的世界里,应用(application)是一个与用户进行交互,并完成用户特定任务的软件程序.而Web应用则是部署在 ...

  7. 第一章 权限管理DEMO简介

    源代码GitHub:https://github.com/ZhaoRd/Zrd_0001_AuthorityManagement 1.系列介绍 工作已有五年之久,一直有想通过博客写点自己知道的,在博客 ...

  8. Java Web程序设计笔记 • 【第1章 Web应用程序】

    全部章节   >>>> 本章目录 1.1 Web 应用程序 1.1.1 Web 应用程序概述 1.1.2 Web 应用程序的工作原理 1.1.3 实践练习 1.2 HTTP协议 ...

  9. (第一章)对程序员来说CPU是什么

    这几天,看到一本书,<程序是怎么跑起来的>,觉得之前都没有完整的看完一本书,现在要从这本书开始,慢慢的培养自己写读书笔记的习惯,不能度过去就忘了. 学习是一个螺旋上升的过程,不要指望一下子 ...

随机推荐

  1. AnimationsDemo中的ZoomActivity代码分析

    AnimationsDemo是android官网的一个动画使用示例. ZoomActivity是demo中的图像缩放动画,因为这种效果比较常见,所以研究了一下代码. 下面是效果图: 毫无疑问这是一个组 ...

  2. HTML5全局属性和事件详解

    属性: HTML5属性能够赋给标签元素含义和语境,下面的全局属性可用于任何 HTML5 元素. 属性 描述 contenteditable 规定是否允许用户编辑内容. contextmenu 规定元素 ...

  3. 利用phpize 外挂php扩展

    如果你的php是手动编译安装的 ,可能有一些扩展一开始并没有开启,以后需要某扩展的时候又不想重新编译php,使用phpize可以动态添加扩展 以Ubuntu为例, 如果你是我这样安装php的  apt ...

  4. 构建自己的 Linux 发行版

    如何用 SUSE Studio 构建 Linux 发行版? (1) 进入到 www.susestudio.com,设立一个帐户 (2) 为你的设备(发行版)选择一个基本模板 -软件和软件包选择 (1) ...

  5. [转]office 2016 4合1/3合1 专业版 增强版 精简绿色安装版

    Office 2016是微软的一个庞大的办公软件集合,其中包括了Word.Excel.PowerPoint.OneNote.Outlook.Skype.Project.Visio以及Publisher ...

  6. Nginx简易配置文件(二)(反向代理)

    user nobody nobody; worker_processes 4; error_log logs/error.log; pid logs/nginx.pid; events { use e ...

  7. K米点歌APP评测

    K米APP评测 产品简介 K米点歌是一款免费的社交K歌手机应用,其手机点歌功能主要在KTV.夜总会,酒吧等K歌场所中使用,当前提供iPhone版本及安卓版本下载使用.——百度百科 评测版本 K米点歌4 ...

  8. CentOS6.5下Redis安装与配置

    http://blog.csdn.net/ludonqin/article/details/47211109

  9. lua学习例子

    extern "C"{ #include <lua.h> #include <lauxlib.h> #include <lualib.h> } ...

  10. 11月7日上午PHP会话控制(session和cookie)、跨页面传值

    1.session  登录上一个页面以后,长时间没有操作,刷新页面以后需要重新登录. 特点:(1)session是存储在服务器:   (2)session每个人(登陆者)存一份: (3)session ...