导读:
网站基础架构设计思路I-.NET教程,评论及其它 第1章 概述第2章 基础结构描述2.1 目标
网站基础结构设计的目标,是建立一个稳定高效、可配置、可扩展的网站架构,同时为网站的功能开发提供一个开放的、易用的工具集。
2.2 设计思想
根据网站基础结构的目标,设计选择xml + xsl作为数据呈现标准,选择xmlrpc为客户端-服务器端通信协议。
所以选择xml + xsl作为数据呈现标准,是为了适应网站大批量数据请求的情况下,将数据呈现逻辑移交给客户端浏览器进行处理,网站服务器可以专注与业务逻辑的处理。
选择xmlrpc作为客户端-服务器端通信协议,一方面因为xmlrpc已经开始为大多数浏览器支持,另外也因为服务器端将xml作为数据输出格式,那么使用xmlrpc作为客户提交的手段是顺理成章的。而且xmlrpc还可以提供无刷新提交和获取数据的使用体验。
2.2.1 逻辑处理部分
网站的基础结构,参考了java的开源项目《struts》以及《Game Engine》的设计思路,采用action作为业务逻辑处理工具,使用xml的配置文件作为业务逻辑的描述,即业务逻辑配置文档,服务器端的主要责任就是当用户发起请求时,将用户的请求映射到业务逻辑配置文档的某个Action配置节,读取信息并依照该小节的体现的业务逻辑处理用户请求,然后将处理结果保存在Action Form实体中,转交给视图,视图根据Action Form中的信息以及视图配置文档所设定的数据转换格式,将数据转换成可以接受的xml文档格式,连同负责呈现该xml文档结构的xsl文档一同发送给用户的浏览器客户端。
业务逻辑配置文档示例如下:
<module name="moduleA" onerror="err.view"><br> <action pattern="/login" name="actionA" type="action.ContainerAction"><br> <action name="actionAA" type="action.CommonAction1"><br> <forward on="ruleA" path=""></forward><br> <forward on="ruleB" path=""></forward><br> </action><br> <action ref="actionD"></action><br> <forward type="redirect" on="ruleOK"></forward><br> <forward type="transfer" on="ruleC" path="returnUrl.do"></forward><br> <forward type="transfer" on="ruleD" path=""></forward><br> <forward type="transfer" exceptiontype="" path=""></forward><br> </action><br> <action pattern="/login2" name="actionD" type="action.ActionD"><br> <forward on="ruleA" path=""></forward><br> <forward on="ruleB" path=""></forward><br> </action><br> <form name="actionA" type="form.ActionAForm"> <br> <parameter name="" type="" validator=""></parameter><br> <parameter name="" type="" validator=""></parameter><br> </form> <br> <rule name="ruleA" type="rule.IsMan"><br> <input-param name="sex" select=""></input-param><br> </rule><br> <rule name="ruleA" type="rule.Equal"><br> <input-param name="param1" select=""></input-param><br> <input-param name="param2" value="1"></input-param><br> </rule><br> </module>
在上面的文档示例中,作为业务逻辑的体现,Action配置小节是最重要的一个环节,在该配置小节中,描述了用怎样的方法组成一个逻辑流程来处理用户的请求。每个方法在运行时对应的就是一个Action元素,每个Action元素都对应在系统内置的商业函数库中的一项,即一个Action类,另外Action元素也描述了自己的ActionForm的类型。ActionForm类型是用于收集客户端提交数据和其他信息,组成Action的输入参数集合。ActionForm类型由Action元素的名字确定。Action和ActionForm应该是一一对应的关系。
Action元素中的Forward元素用于表达,当action的输出满足某个条件时,跳转到另一个Action配置小节或直接跳转到一个视图进行数据呈现处理。Rule 元素描述了对条件判断的逻辑处理。
2.2.2 视图呈现部分
视图呈现,即将用户请求通过action的处理后,将生成的输出数据(ActionForm)转换成适当的xml数据格式,连通与此文档相关联的xsl文档发送到客户端进行呈现的过程。
在数据呈现部分,xsl是w3c的标准,xsl依据一定的文档格式,编写数据呈现模板,把无格式的xml数据转换成含有格式的、浏览器可识别的html结构。
Xsl所解释的文档格式必须具有确定性,即xsl的输入必须是符合一个特定xml schema的well form &validate的xml文档。所以如何将ActionForm中的信息,正确的转换到相应的xml schema是视图呈现部分的关键。
第3章 配置文件结构3.1 文件目录结构
所有配置文件,包括模块配置文件以及视图配置文件,存放在网站应用程序的config目录下。此目录必须被设置为不可匿名访问。以防止被用户读取。
所有xsl文件存放在应用程序目录的xsl目录中。
所有模块配置文档,分别保存在 config 目录中。
3.2 命名规范
1、 按照模块名称,网站应用程序目录中的 config目录里存在唯一的一个以模块名为文件名字,已.module为扩展名的业务逻辑配置文档。一个模块必须存在且只能存在一个.module文件。
2、 视图配置文档的扩展名必须为.view。
3、 所有自定义视图标记,必须配置在名为taglib.config的文件中。
3.3 模块配置文件3.3.1 module
Module元素描述了网站系统的一个子系统,一个子系统能够处理多个用户请求。
Module元素具有以下属性:
属性名
可能值
说明
name
文本
模块名称
onerror
任何符合路径格式的文本字符串
缺省的错误处理视图位置
Module元素可以具备的子元素包括
l action
l form
l rule
3.3.2 action
action元素描述用于处理用户请求的一个商业函数,即一个Action类型,以及这个Action处理后对应的跳转逻辑。
action元素可能具有的属性包括:
属性名
可能值
说明
name
文本
Action名称
pattern
有效的正则表达式。
用于匹配用户请求路径的正则表达式。当一个Action元素处于另一个Action内部时,此属性无效。
type
有效的类名称
Action类型
ref
一个外部Action的名字
当指定了此属性,则等同于将名字等于此属性值的另一个action插入当前位置,形成嵌套关系。
action元素可以带有以下子元素:
l action
l forward
3.3.3 form
form元素描述用于帮助Action类处理输入参数和输出参数的类型。
form元素可能具有以下属性:
属性名
可能值
说明
name
文本
名称
type
有效的类名称
类型
Form元素可以包含以下子元素:
l parameter
3.3.4 rule
rule元素标识一个判断规则,网站程序根据rule的判断结果来选择某个forward将被执行。
rule元素可能具有以下属性:
属性名
可能值
说明
name
文本
名称
type
有效的类名称
类型
Rule元素能包含一下子元素:
l input-param
3.3.5 forward
forward元素规定了当一个action执行完毕后的跳转规则。
forward元素可能包含以下元素:
属性名
可能值
说明
on
某个rule的名字
确定用于判断此forward被选择的规则
class
有效的类名称
类型
type
跳转类型:
redirect
transfer
redirect标识跳往另外一个action
transfer表示转向视图处理。
path
一个url
action或视图的位置。
exceptionType
一个exception的有效类型名
如果action处理出现异常后依据异常跳往的视图或action位置。
3.3.6 parameter
用于规定一个form的参数。以及参数的类型,校验类型。
parameter可能具备的属性包括:
属性名
可能值
说明
name
文本
属性名
type
一个有效的类型名
属性的类型。
validator
一个有效的类型名
用于校验此parameter值是否有效的类型名字
3.3.7 input-param
input-param元素用于描述某个rule的输入参数,在创建rule的时候传入其构造函数。input-param必须按照rule的输入参数顺序书写。
input-param可能包含以下属性:
属性名
可能值
说明
name
文本
属性名
type
一个有效的类型名
属性的类型。
select
文本
取值的位置。即某个参数在form中的名字
本文转自
http://www.e2web.cn/temp/0001/20066151524753323.htm
分享到:
相关推荐
9. **文档报告**:系统附带的文档,如"00青岛理工大学新闻发布系统-陆瑜-200507003.doc",可能包含了系统的设计思路、架构分析、功能实现细节以及测试报告,对于学习和理解系统开发过程非常有帮助。 10. **版本控制...
下面将详细介绍这个系统的核心技术、设计思路以及实现的关键知识点。 一、.Net框架1.0 .Net框架是微软推出的一个用于构建、部署和运行应用程序的平台。1.0版本是其最初的发布,虽然现在已经有了更先进的版本,但在...
通过深入学习和研究这个“asp.net精品课程网站源码”,开发者不仅可以掌握ASP.NET的基础知识,还能了解到Web开发的最佳实践,提升项目开发和管理的能力。同时,对于毕业设计来说,这是一个很好的起点,可以在此基础...
9. **PPT**:可能包含一份项目介绍或设计过程的演示文稿,详述系统的架构、功能实现和设计思路。 通过学习和实践这个ASP.NET学籍管理系统,开发者不仅可以掌握ASP.NET技术,还能了解软件工程的完整流程,包括需求...
【标题】:“asp.net的毕业设计网站设计代码”这一主题主要涵盖了使用ASP.NET技术进行网站开发的实际案例。ASP.NET是微软公司推出的Web应用程序框架,它为开发者提供了构建动态、数据驱动的网站的强大工具。这个标题...
1. ASP.NET基础 ASP.NET提供了多种编程模型,如Web Forms、MVC、Web Pages和ASP.NET Core。Web Forms是最传统的模型,它以事件驱动的方式模拟桌面应用开发体验。MVC(Model-View-Controller)模型则更强调分层架构...
在毕业设计的论文部分,开发者可能详细阐述了系统的需求分析、设计思路、技术选型、数据库设计、主要功能实现及优化策略。答辩PPT则会突出展示系统的亮点,解释关键技术和解决的难点,以及可能的未来改进方向。 综...
1. ASP.NET基础:ASP.NET是微软提供的一个用于构建动态网站、Web应用程序和Web服务的框架。它基于.NET Framework,提供了一种高效、易用的方式来创建交互式、数据驱动的Web应用。本书首先会介绍ASP.NET的基本结构,...
#### 二、ASP.NET基础知识 - **第1章:ASP.NET发展战略与发展概况**:介绍ASP.NET的历史、发展现状及其在.NET框架中的地位。 - **第2章:环境与Visual Studio.NET**:详细介绍.NET的安装过程及Visual Studio.NET...
ASP.NET在线二手交易系统的设计与实现是一个典型的Web应用程序项目,主要使用了Microsoft的ASP.NET框架,结合数据库技术,为用户提供一个安全、便捷的二手商品交易平台。这个系统涵盖了用户注册、登录、商品发布、...
1. **架构设计**:根据项目需求,选择适合的ASP.NET开发模型,如Web Forms或MVC。同时,考虑是否采用三层架构(表示层、业务逻辑层、数据访问层)以提高代码可维护性和复用性。 2. **页面设计**:使用HTML、CSS和...
【ASP.NET 完整网站代码】是一套全面的网络开发资源,它涵盖了从基础到高级的网站设计技术,旨在帮助开发者构建功能丰富的动态网站。这个压缩包中的内容可能包括源代码、数据库配置、页面设计、后台逻辑处理等多个...
论文部分则详细阐述了项目的背景、目的、技术选型、系统架构、设计思路、实现方法、测试结果及后续改进方向。这部分对于理解系统的整体设计和工作原理至关重要,同时也展示了开发者在软件工程领域的理论知识和实践...
10. 论文撰写:除了源代码实现,项目还包括一篇毕业论文,这需要阐述系统的设计思路、技术选型、实施过程及系统性能分析等,帮助读者理解项目的整体架构和技术细节。 总的来说,ASP.NET通用作业批改系统设计涵盖了...
### VS2008开发ASP.net程序简易教程(十天初涉ASP.net)知识点解析 #### 1. 过渡阶段:ASP与ASP.NET的区别 - **定义与背景**: - **ASP (Active Server Pages)**:一种早期的服务器端脚本环境,允许开发者创建动态的...
1. **基础概念**:讲解ASP.NET架构、生命周期、页面间通信等基本原理。 2. **Web控件**:演示如何使用各种内置控件(如Button、TextBox、GridView等)构建用户界面。 3. **MVC模式**:介绍Model-View-Controller设计...
1. **商城介绍.txt**:这个文件可能是对整个电子商务网站的简介,可能包含了网站的功能模块、设计思路以及业务流程。通过阅读,学习者可以了解到网站的核心功能和业务逻辑。 2. **安装说明.txt**:这是一份指导如何...
ASP.NET是微软推出的一个用于构建动态网站、web应用程序和web服务的框架,它基于.NET Framework,提供了强大的开发工具和丰富的功能,让开发者可以更高效地创建高性能的web应用。 源代码部分通常包含了书中讲解的...