【学习提示】 本章通过对一个典型的新闻发布网站的设计思路进行剖析,展示了在网站设计和开发过程中的共性方法,着重分析了网站设计中的重点和难点,以便在实践中更好地理解和学习网站设计开发的基本流程及主要技术。 网站代码的编辑和系统调试开发工具为MyEclipse,在MyEclipse中配置集成Tomcat,使得对软件进行调试更为方便。数据库则可使用MySQL或SQL SERVER。 12.1.1 网站基本功能描述 各类网站的设计中几乎都包含新闻发布的功能。通过这一功能,网站的管理者可以方便地编排栏目和发布新闻信息,而网站的浏览者则可以方便地查看各栏目中的相关新闻,有些网站还提供了新闻评论的功能。本章所介绍的网站首页如图12-1所示。 图12-1 新闻网站主界面 根据网站的规模不同,不同的信息发布网站的功能也有很大差异,但都包括如下最基本的功能: ● 前台信息浏览。这是系统面向广大用户最核心的功能,用户可以浏览到自己感兴趣的信息。前台的网页设计包括首页面展示、栏目页面展示和信息的详细展示,显然这些页面都应当是由JSP动态生成的。 ● 后台新闻维护。这部分功能是面向网站管理员的,管理员登录验证之后可以编辑多个栏目版块新闻,可对新闻内容实施增、删、改、查等操作。 12.1.2 总体设计 对于大型和复杂的网站系统设计工作,开发者通常会选择三层体系结构作为系统的整体架构。三层体系结构包括表现层、业务逻辑层和数据层。通常,业务逻辑层既要处理业务逻辑,又要对关系数据库中的数据表进行CRUD(Create、Read、Update、Delete)操作,这种方式会导致业务逻辑与关系数据库的耦合性太强,降低了管理信息系统的灵活性和适应性。为了降低这种耦合性,可以将数据的访问操作从业务逻辑层中分离出来,单独作为一个数据持久层,如图12-2所示。 图12-2 系统开发中的多层体系结构 虽然本章所讨论的新闻网站的设计案例只给出基本的功能,但作为网站开发实践的案例,系统也采用了上述的多层体系结构。 在使用多层体系结构的前提下,网站的具体设计中使用了如下技术:运用ORM技术对后台的数据库操作进行封装;使用MVC设计结构对网站各模块进行划分;为了提高网站的安全性能与用户体验,还进行了网页静态化以及基于AJAX的设计。系统中各个层次的划分与所应用技术之间的关系大致如图12-3所示。 图12-3 各个层次的划分与所应用技术之间的关系图 由上述可知,在设计开发过程中主要有如下技术难点: (1) 对象与关系映射的设计。我们所采用的数据库是关系型数据库(RDB),而用来开发系统的语言工具Java是一种面向对象语言,两者看待数据的角度有很大差异。通过“对象/关系映射”(Object Relational Mapping,ORM)可以实现两者的数据对接,因此系统实现中需要考虑如何采用ORM来实现数据持久层。 (2) 基于MVC设计结构的设计。在学习了MVC设计结构的基础知识之后,应考虑如何将MVC设计结构应用到具体的设计中,设计过程中需要结合具体的情况进行考虑和分析。 (3) 动态网页静态化的设计。新闻网站中每一条新闻内容的网页都是由JSP程序动态生成的,而这些页面可能会被大量的用户重复访问,如果每次访问都执行相应的程序来生成HTML页面,那就会消耗大量的系统资源、降低系统效率。但如果所有的新闻内容页面都由网页设计人员手工排版完成,也是不符合软件工程的原则,是不可行的。系统需要提供动态网页静态化的功能,将每个新闻页面一次性自动生成为静态的HTML文件提供用户访问,从而提高系统的执行效率。 (4) 基于AJAX的友好用户体验设计。用户体验已经成为软件系统成败的非常重要的因素,AJAX技术可以帮助网站系统提供友好的用户体验,降低网络带宽消耗,实现用户对数据进行快捷、方便的操作。 在下面的内容中,将会对上述技术难点进行逐一分析并深入探讨。 12.2.1 ORM技术简介 网站设计与开发项目就是一种软件工程项目,其开发过程符合软件工程的一般原则和步骤。如何把复杂的系统逐步分解,形成大量、简单的模块是很多软件工程方法的目标。对数据的增、删、改、查操作是基于数据库的网站设计中最基本、最通用的功能,把复杂的功能逐步分解为对数据的增、删、改、查操作是网站系统需求分析和模块分解的过程中非常重要的环节。 在面向关系的数据库中,描述事物关系的是表、记录、字段;而在面向对象的程序设计中,描述事物的是类、对象、属性。面向对象通过对现实事物进行抽象,用软件工程化的方法进行描述;而关系数据库则是建立在严格的数学理论上对事物的关系进行描述的。在描述事物同一级别上(如表对
您可能关注的文档
- (PLC应用技术课件)项目三PLC步进顺控指令及其应用.ppt
- (PLC应用技术课件)项目五PLC模拟量控制.ppt
- (Web开发技术)第1章Web技术概述.ppt
- (Web开发技术)第2章Web应用程序开发环境简介.ppt
- (Web开发技术)第4章CSS.ppt
- (Web开发技术)第7章Web服务器端编程与JavaServlet.ppt
- (Web开发技术)第8章Web应用数据库接口.ppt
- (Web开发技术)第9章JSP技术.ppt
- (Web开发技术)第10章Web开发框架.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)