0.WEB工程结构:
B/S:Brower/Server:浏览器/服务器:只需要网络,有较好的共享性
C/S:Client/Server:客户端/服务器:需要部署客户端
思想:Servlet、JSP、HTML、工具类、JavaBean、标签库等,都放在不同层次的目录中:
WebAppDirectory:
SomeFile.html(url: http://host/WebAppPreFix/SomeFile.html)
SomeFile.jsp(url: http://host/WebAppPreFix/SomeFile.jsp)
Images,Style Sheets...
WEB-INF:(其中的文件不能由客户端直接访问,可以由RequestDispatcher转发到WEB-INF下)
web.xml
classes:
SomeServlet.class(url: http://host/WebAppPreFix/Servlet/SomeServlet)
SomeUtility.class
somePackage:
AnotherServlet.class
AnotherUtility.class
lib:
SomeClasses.jar
MoreClasses.jar
tids:
SomeTages.tid
MoreTages.tid
META-INF:
MANIFEST.MF
1.URL: 协议://主机地址:连接端口/目录/文件名称
协议: SMTP:Simple Mail Transfer Protocol
FTP:File Transfer Protocol
POP3:Post Office Protocol 3
HTTP:HyperText Transfer Protocol
2.HTTP 是基于 Request/Response 的通信协议,客户端发出获得资源的请求,服务器给客户端响应。每次联机做出一次 请求/响应
不存在server主动向客户端响应(PUSH)
Request:
方法:GET POST HEAD DUT DELETE
GET: url?names=values?……
POST: url
GET方法 不适用于表单包含大量的数据或敏感信息的请求,适用于根据地址响应请求的情况(网页标签)
一般来说:GET适用于等幂操作(只获取数据,不改变服务器的数据和状态,同样的请求应返回同样的结果),POST适用于零等幂操作(请求将改变服务器的数据或状态)。
<form>中 method 方法默认为 GET
3.客户端与服务器无法直接进行交互,必须通过 HTTP和网络 进行互动。
4.Servlet&JSP 在服务器端:JSP和Servlet是 一体两面的
过程: 容器将JSP转译为Servlet,再加载Servlet。
Servlet是Java的一个类名,通过 Web容器 Container 的加载、初始化、受到容器的管理才得已成为一个 Servlet程序
容器(例:Tomcat)是Java所编写的一个应用程序,负责与服务器的沟通,管理Servlet的对象和数据。
JSP是一种动态网页技术、JSP文件是 插入了 Java程序段和JSP标签的 HTML文件。JSP将被 容器转译为 Servlet程序 并加载到容器中。
JSP处理HTML标签只是将其原封不动的响应给浏览器(包括JavaScript程序段)。
5.
1.CGI(公共网管接口):
step1.浏览器 请求 服务器
step2.在服务器中交由http服务器处理,将请求分为静态部分和动态部分,静态部分直接返回静态网页,动态部分调用不同的CGI程序进行函数的处理、获得并返回信息。
step3.http服务器整合信息响应给客户端(浏览器)
2.JavaWeb部分:
step1.浏览器 请求 服务器
step2.服务器交由http服务器处理,http服务将请求分为静态和动态两部分,静态部分返回静态网页,动态部分交由 JVM虚拟机 处理,
step3.JVM虚拟机调用容器程序,转译JSP(动态部分)为若干个Servlet类,每个Servlet处理、获得并返回信息到http服务器。
WEB容器生成单独的Thread来调用一个Servlet
Tomcat是一个WEB容器的实现,并且自带了一个http小的服务器,能够和其他http服务器结合使用。
step4.http服务器整合为网页响应给浏览器
3.Servlet 相比较于 CGI:
用线程取代操作系统的进程
大量的工具类
共享数据,数据持久
便携(可运行于所有主流操作系统)
大量免费的或低价的服务器
没有缓存溢出问题
主流
6.MVC:Model-View-Controller
M:
封装了程序的功能和状态、与数据库互动、逻辑处理的对象
与页面采取的解决方案无关、与底层储存技术、访问的机制无关
是业务的逻辑组件,具有较高的可移植性
在状态改变时通知View
V:
用户观看及操作的接口
会对感兴趣的Model进行注册,收到其通知并更新
C:
手机用户的请求并转发给对应的Model对象,操作和修改某个数据Model
特点:
通过Controller的请求转发切断了View和Model之间的耦合性
Model中不会有显示页面的相关逻辑
View需要数据中查询Model获得
7.Model 2:MVC的缺点是Brower无法在Model状态改变时主动地查询Model的最新状态,因此在 Model 2 中Brower会主动的请求获取Model最新状态。
C(Servlet):
在收集请求后,委托Model处理,在Model处理后获得执行流程并转发给View
M(Java对象):
在接收到Controller的请求设置后,进行相关处理和状态更新
V(JSP):
在接受Controller转发的执行流程后,视图进行页面组织,查询Model的最新状态,返回响应。
流程:
1.Brower发送request到http server
2.http server中,容器:
1.(检查.xml)servlet(C)接受请求
2.由Java对象(M)处理
3.Model返回执行流程到Controller
4.Controller转发执行流程到JSP(V)
5.View查询Model的最新状态,获得信息,组织页面
6.View返回响应
3.http server返回响应到Brower
8.软件的层次结构:
表现层 控制层 业务逻辑 数据逻辑
JSP Servlet 借口,实现类
V C M
B/S:Brower/Server:浏览器/服务器:只需要网络,有较好的共享性
C/S:Client/Server:客户端/服务器:需要部署客户端
思想:Servlet、JSP、HTML、工具类、JavaBean、标签库等,都放在不同层次的目录中:
WebAppDirectory:
SomeFile.html(url: http://host/WebAppPreFix/SomeFile.html)
SomeFile.jsp(url: http://host/WebAppPreFix/SomeFile.jsp)
Images,Style Sheets...
WEB-INF:(其中的文件不能由客户端直接访问,可以由RequestDispatcher转发到WEB-INF下)
web.xml
classes:
SomeServlet.class(url: http://host/WebAppPreFix/Servlet/SomeServlet)
SomeUtility.class
somePackage:
AnotherServlet.class
AnotherUtility.class
lib:
SomeClasses.jar
MoreClasses.jar
tids:
SomeTages.tid
MoreTages.tid
META-INF:
MANIFEST.MF
1.URL: 协议://主机地址:连接端口/目录/文件名称
协议: SMTP:Simple Mail Transfer Protocol
FTP:File Transfer Protocol
POP3:Post Office Protocol 3
HTTP:HyperText Transfer Protocol
2.HTTP 是基于 Request/Response 的通信协议,客户端发出获得资源的请求,服务器给客户端响应。每次联机做出一次 请求/响应
不存在server主动向客户端响应(PUSH)
Request:
方法:GET POST HEAD DUT DELETE
GET: url?names=values?……
POST: url
GET方法 不适用于表单包含大量的数据或敏感信息的请求,适用于根据地址响应请求的情况(网页标签)
一般来说:GET适用于等幂操作(只获取数据,不改变服务器的数据和状态,同样的请求应返回同样的结果),POST适用于零等幂操作(请求将改变服务器的数据或状态)。
<form>中 method 方法默认为 GET
3.客户端与服务器无法直接进行交互,必须通过 HTTP和网络 进行互动。
4.Servlet&JSP 在服务器端:JSP和Servlet是 一体两面的
过程: 容器将JSP转译为Servlet,再加载Servlet。
Servlet是Java的一个类名,通过 Web容器 Container 的加载、初始化、受到容器的管理才得已成为一个 Servlet程序
容器(例:Tomcat)是Java所编写的一个应用程序,负责与服务器的沟通,管理Servlet的对象和数据。
JSP是一种动态网页技术、JSP文件是 插入了 Java程序段和JSP标签的 HTML文件。JSP将被 容器转译为 Servlet程序 并加载到容器中。
JSP处理HTML标签只是将其原封不动的响应给浏览器(包括JavaScript程序段)。
5.
1.CGI(公共网管接口):
step1.浏览器 请求 服务器
step2.在服务器中交由http服务器处理,将请求分为静态部分和动态部分,静态部分直接返回静态网页,动态部分调用不同的CGI程序进行函数的处理、获得并返回信息。
step3.http服务器整合信息响应给客户端(浏览器)
2.JavaWeb部分:
step1.浏览器 请求 服务器
step2.服务器交由http服务器处理,http服务将请求分为静态和动态两部分,静态部分返回静态网页,动态部分交由 JVM虚拟机 处理,
step3.JVM虚拟机调用容器程序,转译JSP(动态部分)为若干个Servlet类,每个Servlet处理、获得并返回信息到http服务器。
WEB容器生成单独的Thread来调用一个Servlet
Tomcat是一个WEB容器的实现,并且自带了一个http小的服务器,能够和其他http服务器结合使用。
step4.http服务器整合为网页响应给浏览器
3.Servlet 相比较于 CGI:
用线程取代操作系统的进程
大量的工具类
共享数据,数据持久
便携(可运行于所有主流操作系统)
大量免费的或低价的服务器
没有缓存溢出问题
主流
6.MVC:Model-View-Controller
M:
封装了程序的功能和状态、与数据库互动、逻辑处理的对象
与页面采取的解决方案无关、与底层储存技术、访问的机制无关
是业务的逻辑组件,具有较高的可移植性
在状态改变时通知View
V:
用户观看及操作的接口
会对感兴趣的Model进行注册,收到其通知并更新
C:
手机用户的请求并转发给对应的Model对象,操作和修改某个数据Model
特点:
通过Controller的请求转发切断了View和Model之间的耦合性
Model中不会有显示页面的相关逻辑
View需要数据中查询Model获得
7.Model 2:MVC的缺点是Brower无法在Model状态改变时主动地查询Model的最新状态,因此在 Model 2 中Brower会主动的请求获取Model最新状态。
C(Servlet):
在收集请求后,委托Model处理,在Model处理后获得执行流程并转发给View
M(Java对象):
在接收到Controller的请求设置后,进行相关处理和状态更新
V(JSP):
在接受Controller转发的执行流程后,视图进行页面组织,查询Model的最新状态,返回响应。
流程:
1.Brower发送request到http server
2.http server中,容器:
1.(检查.xml)servlet(C)接受请求
2.由Java对象(M)处理
3.Model返回执行流程到Controller
4.Controller转发执行流程到JSP(V)
5.View查询Model的最新状态,获得信息,组织页面
6.View返回响应
3.http server返回响应到Brower
8.软件的层次结构:
表现层 控制层 业务逻辑 数据逻辑
JSP Servlet 借口,实现类
V C M