CS/BS 都是软件架构的两种不同表示形式: C/S:Client/SServer:k客户端和服务端的架构 B/S:Browser/server:浏览器和服务端的架构(通过浏览器访问的引用) C/S: 该软件运行在电脑桌面
开发语言:Delphi,VB,VC++,c#,awt,swing等 特点:一般服务端仅仅是安装一个数据库额数据存储,所有程序(功能/界面)都编写在客户端软件中(把所有的业务逻辑编写在客户端,界面渲染也在客户端) 优点:直观,用户体验好,界面美观,安全性高 缺点:每次升级,需要重新安装,移植型性较低,开发和维护成本较高 B/S: 该软件通过浏览器访问,比如:门店网站,管理系统等 其实B/S属于特殊C/S,因为,浏览器就是一个特殊的客户端 开发语言:JSP,PHP,ASP等 特点:在服务端编写代码,所有的业务逻辑都由服务端完成,客户端只负责界面渲染 优点:可移植性高,开发和维护较好 缺点:用户体验不好,界面不够丰富
篇外 什么是HTTP协议
Hypertext Transfer Protocol 中文翻译为:超文本传输协议 它是基于TCP/IP的应用层协议,该协议用于定义浏览器和WEB服务器之间进行数据交换的标准。 HTTP协议是学习动态网站开发的基石,不深入了解HTTP协议,就不能说掌握了web开发,更无法管理和维护一些复杂的WEB站点。 HTTP协议的版本:
HTTP/1.0: 该协议只允许一次连接获取一个资源 HTTP/1.1: 该协议允许一次连接获取多个资源 hHTML超文本标记语言
HTTP协议是将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器的通讯协议
HTTP协议是一个基于请求与响应模式的、无状态的、应用层的协议,基于TCP/IP的连接方式
应用层 传输层 网络层 数据链路层
特点 客户端/服务器模式,客户端一般为浏览器 简单快速:客户端只需要向服务器传输较少的数据就可以快速获取服务器端程序的响应 灵活: HTTP协议支持进行任何类型数据的传输,只需要指定内容类型即 无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这方式可以节省传输时间。 无状态: HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。 响应消息 状态行。位于响应消息的第一行 格式: HTP版本号 状态码
若干响应头:从第二行开始到第一 个空行
<1>. Location: 制定转发的地址。需与302/307响应码- -同使用
<2>. Server:
告知客户端服务器使用的容器类型 <3>. Content -Encoding; 告知客户端服务器发送的数据所采用的压缩格式
<4>. Content -Length: 告知客户端正文的长度
<5>. Content-Type: 告知客户端正文的MIE类型
Conent -Type: text/html ; charset=UTF-8
<6>. Refresh; 定期刷新。还可以刷新到其他资源
Refresh:3; URL=otherurl 3秒后刷新到otherurl这个页面 <7>、Content -Disposition; 指示客户端以下载的方式保存文件。
Content -Di sposition; attachment; filename=2. jpg <8>. Expires: 网页的有效时间。单位是毫秒(等于-1时表示页面立即过期)
Cache-Control: no-cache Pragma: no-cache 控制客户端不要缓存 <9>. Set-Cookie:SS=Q0=5Lb. _nQ; path=/search服务器端发送的Cookie (会话有关)
1.3响应正文,从第一一个空行开始,后面的都是正文。 MIHE MIHE的英文全称是"Iul tipurpose Internet Mail Extensions"多用途互联网邮件扩展,它是-一个互联网标准,在1992年最早应用于电子邮件系统,但后来也应用到浏览器。服务器会将它们发送的多媒体数据的类型告诉浏览器,MIHE类型就是设定某种扩展名的文件用一-种应用程序来打开的方式类型
GET和POST请求区别 GET方式请求:
请求的数据全部在浏览器的地址栏(很不安全). http://localhost/form.html?K=V&K=V
观察请求信息:请求信息会全部存储到请求行中. GET /form.html?username=will&K=V HTTP/1.1
POST方式请求:
请求的数据不会出现在浏览器的地址栏(比较安全) 观察请求信息:请求信息会全部存储到请求实体中 POST/form.html HTTP/1. 1
Servlet Servlet是一个JavaE的组件, 也是JavaEE中的一个规范 Servlet是JavaEE中的一个规范
服务 器其实是对Servlet的实现. Servlet是个JavaEE的组件:
Servlet是个程序(类),只不过必须要遵循Servlet的规范 要求类:必须实现javax, servlet,Servlet接口 搭建标准的JavaWeb的项目结构 创建一个Java项目HelloServletWeb 在HelloServletWeb中创建一个文件夹webapp, 表示Web项目的根 在webapp中创建WEB-INF文件夹 在WEB-IN中创建文件夹 lib,classes 在WEB-IN中去Tomcat根/conf拷贝web.xml文件,只需要保留根元素 把当前项目的classpath路径改成webapp/WEB-IN下的classes中