一、基本概念
1、路由
当我们在地址栏输入一个url回车确认后,就是通过路由的方式去找到处理这个url的程序,```
######2、html页面渲染
```加载: 根据url通过路由向服务器发送请求,接收到数据。
解析: 对加载到的资源进行语法解析(html的DOM树,js的行为,css的样式,标准标签库JSTL的各种行为标签)。
渲染: 构建渲染树,将解析出来的元素对页面进行渲染。```
######3、jsp
```属于后台的一种模板引擎,用于生成特定格式的文档,在web项目中,为了将用户界面与业务数据分开写而引入,用于生成html。```
######4、dns( Domain Name System )
```域名解析系统,将地址栏输入的域名解析成ip地址(注: 一个域名可解析出多个ip, 即一个域名对应多个ip地址)。
修改dns实际上就是换一个域名解析系统,得到与之前不同的ip地址,从而获得便利。```
######5、http请求方法
```五个主要方法 get post put delete head 即对应的是查改增删查,最后的head是一种特殊的查询请求,只传输url的head部分,不传输实体(body)本身。```
*※get post的区别*
```get: get请求方法的数据会跟在url后面( 把数据放在http协议的head里 ),数据写在?后面,多个参数用&连接,是一种向服务器索取数据的请求
post: 提交的数据最多只能是1024个字节,需要传递的参数不写url里,通过请求对象的getParameter方法拿,是一种向数据库提交数据的请求。```
***
>幂等
*对同一个url的多次请求要返回相同的结果,即不会对数据库产生副作用*
(1)get 用于获取数据,多次操作不会对数据库造成坏影响,所以是幂等
(2)**post 不是幂等 当我们一个url请求两次使用post时,有可能会创建出两份数据,比如我有一个评论功能,用户两次提交这个评论,此时请求的url是一样的,但是每一次数据库都会多一个评论**
(3)delete 是幂等,因为我删除一个数据,删一次也是删这一个删没了,删10次这个数据他还是没有了,始终是这一条数据,对数据库没有副作用。
(4)put 是幂等 对同一id的一条数据修改10次,数据库里面依然还是有这么一条数据,没副作用。
***
####二、实际用途
*如:*
```地址栏输入 http://localhost:8080/OnlineOrder/index
通过get方法向服务器请求该url
通过路由url找到服务器上处理这个url的servlet index
加载这个servlet以及这个servlet内部转发的jsp,获得html, css, js. list集合等等
解析得到的这些数据
渲染jsp这个模板引擎生成的html,也就是呈现在我们浏览器上的页面。```
```小贴士```
google浏览器里面右键,点击检查,点击network,再刷新页面可查看url请求的方法。
![页面原理图1-1](https://img.haomeiwen.com/i2562717/d9aa54c3970a5486.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
网友评论