第7章 Web服务器端编程与Java Servlet 7.1 Web服务器端编程概述 Web服务器端编程负责完成在服务器端运行的程序的设计和编码,这些程序的主要功能一般是进行业务逻辑的处理。通常的做法是数据的存储使用数据库系统及文件系统,通过使用数据库访问接口访问数据库系统中存储的数据,根据应用系统业务逻辑对这些数据进行处理,然后把相关处理结果发送到客户端,或者存储到文件或数据库系统中。Web服务器端编程模型如图7.1所示。 图7.1 Web服务器端编程模型 根据以上模型可知,开发Web系统首要的工作就是系统模块划分。从逻辑层次上可以将系统模块划分为如下三层: (1) 界面层:主要用于界面展示、客户输入数据。该部分用HTML(HyperText Markup Language)格式的文件作为客户端软件解析、显示的数据文件,即通常所说的网页。在HTML文件中可以包含在客户端浏览器环境下解释执行的客户端脚本(如受浏览器支持的广泛使用的JavaScript脚本)、用来控制显示样式的CSS(Cascading Style Sheets)文件、用来绘制动态图形和完成简单客户端功能的Java Applet等。 (2) 应用逻辑处理层:也称为业务处理层,主要完成系统数据处理,是系统的核心。数据是业务在计算机中的表示,根据系统业务流程设计出程序流程图,进而去编码实现。根据服务器支持的运行环境,可选用不同的开发脚本语言。如果服务器端具备Java运行环境,可以使用JSP(Java Server Pages)脚本、Servlet程序;如果具备PHP(Hypertext Preprocessor)运行环境,可以使用PHP脚本。当今可以选用的开发脚本语言多达十多种,在制定系统方案时,可以根据系统应用环境和成本、开发难度,选取一种开发脚本语言来作为系统开发脚本语言。 (3) 数据存储层:用来存储数据,依据系统设计阶段设计的数据字典,将系统数据存储在数据库系统文件中,然后通过数据库访问接口访问该数据库系统中的数据。数据库的系统维护和管理由数据库系统管理员负责,数据库数据的访问通过脚本程序进行,这就实现了数据库的透明访问,提高了系统的安全性和可靠性。 该种划分法从逻辑层次到物理实现的映射可用图7.2来表示。系统设计和分析人员通常根据这种逻辑划分来分析和定义系统模块。 程序设计的流程按照数据的读取、保存和处理来分别进行。由于采用了数据库系统,故数据的读取和保存变得容易,使程序设计者能够把主要精力放在业务流程对应的数据处理上。系统和用户的交互界面一般是浏览器支持的GUI图形界面,即由文本、图片、表单构成的页面,程序设计者应该站到系统界面的角度去设计页面,与传统的主要用来展示文本内容的网页区分开来。 图7.2 Web应用程序从逻辑层次到物理实现的映射 7.2 客户端数据的提交和服务器端的提取 客户端用户向服务器端程序提交数据主要通过表单来进行。关于表单的标准理论请参考网上文档,网址为/TR/html401/interact/forms.html#h-17.1。表单(Form)是对客户端浏览器软件向服务器端程序提交的数据进行封装的控件。提供给编程人员的接口是表单和表单项。表单项的名称用来关联数据项名称,在软件中常把这种方法叫做“Key-Value”,即键—值对,键即表单项名称,值即填入表单控件中的文本。服务器端程序提取数据时主要通过表单项来获取对应值,然后使用这些数据进行处理。表单通过如下形式定义: form name=“ login” action=“forward.jsp ” method = “get” input type= “text ” name = “username” value=“liuyongping” /form或 form name=“form1” action=“process.jsp” method=“post” /form其中,action和method属性非常关键。action属性定义了该表单信息和哪个文件相关联,即由哪个服务器端程序来提取和处理该表单数据。如在此例中由process.jsp这个程序来处理该表单数据。method属性定义了该表单信息的传送(传输)方式,可选post和get中的任意一种。 采用post方式时,表单的数据是被客户端浏览器封装在请求消息体中来进行传送的,故保密性强。而采用get方式时,表单的数据是附在URL之后,以问号“?”隔开,数据以name=value对的形式出现的,多个数据对使用符号“”隔开。get方式常用于少量数据传送(1 KByte),由于发送时数据显示在浏览器地址栏中,容易被看到和记录,
您可能关注的文档
- (DSP处理器原理与应用)第9章应用程序架构.ppt
- (DSP处理器原理与应用)第10章软件项目开发辅助工具.ppt
- (NET程序设计与开发)第1章技术导读.ppt
- (NET程序设计与开发)第2章VisualStudio2005集成开发环境简介.ppt
- (NET程序设计与开发)第4章常用的服务器控件.ppt
- (NET程序设计与开发)第5章验证控件.ppt
- (NET程序设计与开发)第7章SqlDataSource数据源控件.ppt
- (PLC应用技术课件)项目三PLC步进顺控指令及其应用.ppt
- (PLC应用技术课件)项目五PLC模拟量控制.ppt
- (Web开发技术)第1章Web技术概述.ppt
- 山西天一大联考2025-2026学年高二上学期期末学情监测语文试题(试卷+解析).docx
- 山西忻州部分学校2025-2026学年高一上学期2月质量检测数学试题(人教B版)(试卷+解析).docx
- 山西运城市2025-2026学年高二第一学期期末调研测试数学试题(试卷+解析).docx
- 陕西省榆林市榆阳区2025-2026学年八年级上学期期末地理试题(试卷+解析).docx
- 陕西西安市碑林区2025-2026学年度第一学期期末八年级生物试题(试卷+解析).docx
- 四川省广元市苍溪县2025-2026年八年级上学期期末道德与法治试题(试卷+解析).docx
- 江苏泰州市姜堰区2025-2026学年七年级上学期1月期末数学试题(试卷+解析).docx
- 江苏省扬州市邗江区2025-2026学年九年级上学期期末考试化学试题(试卷+解析).docx
- 江西上饶市铅山县2025-2026学年第一学期期末考试八年级数学试题(试卷+解析).docx
- 江苏扬州市高邮市2025-2026学年度第一学期期末学业质量监测试题九年级英语(试卷+解析).docx
最近下载
- 六年级上册数学复习练习:寻找单位“1”和列出等量关系式专项练习.docx VIP
- 六年级上册数学晨读晚默综合每日一练.docx VIP
- 2026中考数学压轴题选择+填空275题答案.docx VIP
- DB11T 911-2012 无公害农产品 南瓜设施生产技术规程.docx VIP
- 【规范药房创建资料】与药品质量有关设施设备(如温湿度调控设备、阴凉柜、医用冰箱、冷柜、温湿度计等)使用制度.doc VIP
- DB11T 905-2012 草莓种苗DB11T 905-2012 草莓种苗.docx VIP
- DBJ04 脉冲超细干粉灭火装置配置技术规程.pdf VIP
- DBJ04 山西省工程建设地方标准 城镇公共停车场(库)工程建设标准.docx VIP
- DBJT 15-110-2015 广东省建筑防火及消防设施检测技术规程.docx VIP
- 两票三制培训资料.ppt VIP
原创力文档

文档评论(0)