web服务器的工作是:
解释请求方的URL并调用服务器端应用程序来处理这些请求。
构建Web服务器上应用程序的方法有两种:
1.使用脚本
适合于解释请求信息
2.使用服务器页面
适合格式化应答消息。
这样的老观点也衍生出了模型-视图-控制器模式的用户界面中。
控制器:处理请求消息
模型:负责领域逻辑
视图:基于模型创建应答消息
过程:
一条消息进入输入控制器,输入控制器从中获取消息。随后把业务逻辑传递给一个合适的业务模型。
然后这个模型对象和数据源交互,并且按照请求消息的要求进行处理,应答并收集消息。
做完这些后,它再把控制权交给输入控制器,输入控制器查看结果并且决定采用什么样的视图来显示应答消息。
这通常是一个把数据放在某种HTTP会话对象中合适位置的过程,这个HTTP会话对象在输入控制器和视图之间
共享。
视图模式:
1.转换视图 2.模版视图 3.两步视图
两种选择:
1.选择转换视图还是模板视图
2.无论使用哪一种,使用一个阶段的,还是两步视图。
转换视图和模版视图是单阶段的。
首先决定使用转换视图还是模板视图
模板视图:
其允许在网页的结构中编写表现层,并允许在网页中嵌入标签,用以指明网页中的动态内容需要导向哪里。
如:asp,jsp,php
缺点:导致页面代码混乱,难以维护
转换视图:
使用程序的一种转换风格。
如:XSLT,如果领域数据是XML格式存在的,使用转换视图将非常的有效。
其次:决定选择单阶视图还是两步视图
单阶视图:
一个屏幕对应一个视图
两阶视图:
由领域数据产生一个逻辑屏幕,然后把它发送到HTML网页中。其中,每个屏幕都有一个第一阶段的 视图,而整个程序只有一个第二阶段的视图。
优点:
可以决定把什么样的HTML网页放在一个地方。这样使得全局改变HTML变得简单。
如果Web应用程序提供的服务是多种前端用户来使用,那么运用两步视图将得心应手。
比如用第二阶段来区分是掌上电脑还是Web浏览器。