软件结构:
C/S(Client Server)结构的软件:
客户端和服务端同时更新,程序员需要同时开发客户端与服务端
减轻服务端的压力,而且可以大量保存数据在客户端上。
B/S(Browser Server)结构的软件:
软件版本升级的时候不需要更新客户端,只需要更新服务端即可
同时增加了服务端的压力,不能保存大量的数据在用户机上面
Html(超文本标记语言) 语言是开发网页的基础语言:
标记:该语言是由标签来构成的。
Html语言的特点:
1、html语言与平台无关,任何游览器都可以解析运行
2、html 不区分大小写。
html语言的结构:
<html> html语言的的根标签
<head> 网页头信息
<title>网页标题</title>
<metahttp-equiv = ''content-type'' content=''text/html;charset=utf-8 ''/>
<meta name=''keywords'' content=''java培训,php培训''/><!-- 一个网页的关键字最好是3-4个,seo(搜索引擎优化)来做 -->
</head>
<body></body> 网页体信息
</html>
Html 的注释: <!-- 注释 -->
Prototype注意细节:
1、prototype 是函数(function)的一个必备属性
2、prototype 的值是一个对象
3、可以任意修改函数prototype属性的值
4、一个对象会自动拥有这个对象的构造函数的prototype的成员属性和方法
Function Array(){ this.prototype = new Object(); }
Array.prototype.getMax = function(){ }
Http 协议:
定义:对游览器客户端和服务器端数据传输的格式的规范
游览器和服务器之间的通信,基于tcp/ip协议的socket技术
tcp/ip:关注的是客户端与服务器之间的数据是否传输成功!
http协议:是在tcp/ip协议之上封装的一层协议,关注的数据传输格式是否规范
http :
一个请求行
GET /test/index HTTP/1.1
http 1.0: 当前游览器客户端与服务器建立了连接以后,只能发送一次请求,一次请求以后连接关闭
http 1.1: 可以在一次连接以后发送多次请求,基本上都使用1.1的版本
当当前页面请求另外的资源,则会发送新的请求,游览器缓存会拦截相同资源的请求
exp: <img src = "images/1.jpg"/>
提高页面的加载效率,会把所用的图片放到一张大图里面,然后通过位置定位,这样游览器只会请求一次。
请求资源:
URL:统一资源定位符:http://localhost:8080/crm,是URI的子集,只能定位互联网资源
URI:统一资源标记符:/src/hello用于标记任何资源。可以是本地系统文件,局域网资源。
请求方式:
常见的请求方式: GET , POSt ,HEAD ,TRACE ,PUT,CONNECT, (查看api文档)
常用的请求方式:GET 和 POST
表单提交:
<form action = '' 提交地址'' method ="GET/POST">
</form>
GET 方式提交:
1.地址栏后面会跟上参数数据,以?开头,多个参数之间以&分隔
2.数据有限制,不超过1kb
3.数据如果有保密性,则不能使用get方式提交
Post方式提交:
1.参数不会跟在url后面,参数在请求的实体内容里面,以&分隔
Accept:text/html,image/* -- 游览器接受的数据类型
Accept-Charset:ISO-8859-1 -- 编码格式
Accept-Enconding:gzip,compress--压缩格式
Accept-Language:en-us,zh- --接受的语言
Host:www.test.com:80 --目标地址(主机:端口)
referer:http://www.test.org/index.jsp -- 请求来源于哪里
user-Agent:Mozilla/4.0(compatible;MSIE5.5;Windows NT 5.0) -- 游览器类型
Cookie:name=eric --游览器保存的cookie信息
Connection:close/Keep-Alive --游览器跟服务器保持的状态
HttpServletRequest对象的作用用于获取请求数据
核心的API:
请求行:
request.getMethod(); // 请求方式
request.getRequestURI(); // 请求资源
request.getProtocol(); //请求http协议的版本
请求头:
request.getHeader("名称"); //根据请求头获取请求值
request.getHeaderNames(); //获取所有的请求头名称
实体内容:
request.getInputStream(); //获取尸体内容数据
request.getParameter("name"); //获取表单的内容
编码格式:
post方式:request.setCharacterEncoding("utf-8");
get 方式:newString(name.getBytes("iso-8859-1"),"utf-8");
telnet的使用:
cmd -> telnet
ctrl + ] 同时按 回车
服务器常见的状态码:
200: 表示请求完成并完美返回
302: 表示请求需要进一步细化
404: 表示客户访问的资源找不到
500: 表示服务器的资源发送错误(服务器内部错误)
响应行:response.setStatus();
响应头:response.setHeader("name","value");
实体内容:
response.getWriter().writer(); //发送字符实体内容
response.getOutputStream().writer()// 发送字节体内容
实时刷新:response.setHeader("refresh","1");//每隔1s刷新一次,游览器认识refresh头,得到它后重新请求当前资源
response.setHeader("refresh","1;url=/test/adv.jsp");1s后跳到新的页面
编码问题:response.setContentType("text/html","charset=utf-8");
注意:请求重定向游览器一共向服务器发2次请求