`
gavin.zheng
  • 浏览: 20285 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

BS体系结构(二)a2之页面与数据层

阅读更多

因为直接在页面访问数据的系统基本上不存在了,所以直接从a2 页面与数据层开始说起.

 

这是我作的一个假设系统,系统只存在一个用户数据表,在页面上只使用登录,登出,查找等功能.uml如下:

 

数据层:

这是个基本的dao模式数据层, 缺少必须的接口分离,授权访问,Cache等能力.特点是只提供基本的数据访问

在properties或xml文件中保存模块类名信息, 这样,中央引擎不用保存相关模快信息, 方便扩展

所以在jsp中:

假设在系统中,用户可以随意增,删,查,改...当然这是不可能的 ..

 所以,我们需要的页面文件有:index.jsp login.jsp addUser.jsp listUser.jsp  delUser.jsp updateUser.jsp

并在它们之间建立编写相关的转发关系,

add.jsp

<%! Logger log = Logger.getLogger("XXX.jsp")%>

<!--html code-->

<%

log.debug("show XXX.jsp page");

AppEngine app = AppEngine.getInstance();

User user = new User();

user.setUsername(request.getParameter("username"));

...

UserDao dao = app.getModule("UserDao");

dao.add(user);

request.getRequestDispatcher("index.jsp").farword(request,response);

%>

 

扩展1:cache

如何把辛辛苦苦从数据库取出来的信息缓存下来呢? 因为我们可能会遇到大量相同的查询条件来,所以 缓存查询结果就成了一项很重要的开发内容了

看看Dao,一般有add,find,get,list等业务方法,  在其中,add,find,get与list是不相同的,随着数据库的不断被修改,list对象就会变的很不真实, 所以list得到的对象不应该被保存很长的时间, 而其他的单一元组的 获得方法则可以被保存很久,  这就存在了问题,  怎么解决 2中方法的不同缓存问题.

uml:




 
 这是缓存基本体系, 模块根据系统config 做出选择

在所有的find,get,等方法最前都执行一次查找缓存, 查找字符串 为: xxx.class().getName()+"method name" 然后在 所有查找结束前, 调用一次cache.put...

在相关的实现中, 根据配置 调用chooseCache选择 相关的缓存体系....

缓存配置为:

 

<ehcache>
<cache name="select method cache"
maxElementsInMemory="10000"
eternal="false"
timeToIdleSeconds="300"
timeToLiveSeconds="600"
overflowToDisk="false"
/>

....
</ehcache>

 

事实上,比如xyq.163.com的论坛系统中,帖子列表每次查询的时候 经常有第1 页列出的内容  在第2页 开头也列出 , 这就是使用了select缓存的原因

 

 

  • 大小: 7.3 KB
  • 大小: 17.2 KB
  • 大小: 13.1 KB
分享到:
评论

相关推荐

    基于BS体系结构开发应用系统

    在BS体系结构中,通常采用三层架构:用户界面层、业务逻辑层和数据访问层。用户通过浏览器向服务器发送请求,服务器处理请求,执行业务逻辑并访问数据库,最后将处理结果返回给浏览器。这样,服务器承担了大部分计算...

    基于BS体系结构开发应用系统设计方案

    BS体系结构,又称为浏览器/服务器架构,其核心特点是用户通过Web浏览器即可访问和操作系统,而系统的主要业务逻辑和数据处理则由后台服务器完成。这种架构具有很多优势,例如降低客户端维护成本、易于扩展和升级、跨...

    CS结构与BS结构

    CS结构与BS结构 CS结构(Client/Server结构)和BS结构(Browser/Server结构)是两种常见的软件系统体系结构。CS结构是一种传统的结构,客户机和服务器结构通过它可以充分利用两端硬件环境的优势,将任务合理分配到...

    BS.rar_BS_bs 三层 结构

    在“BS.rar_BS_bs 三层 结构”中,我们可以看到这个压缩包可能包含了一份关于BS架构下三层结构的详细文档(BS.doc)。现在,让我们深入探讨一下这个主题。 首先,我们来理解一下“BS”架构。BS是Browser/Server...

    CS结构与BS结构的特点分析

    "CS结构与BS结构的特点分析" CS结构和BS结构是两种常见的软件系统架构,它们在性能、开发、升级维护等方面有着不同的特点和优缺点。了解这些特征对于系统的选型和设计是非常关键的。 一、CS结构特点 CS结构是建立...

    java+++mysql++BS结构的进销存系统源码整理

    在BS结构中,Java通常用于开发服务器端应用,处理业务逻辑、数据访问以及与数据库的交互。JavaSrc62.zip可能包含了该项目的源代码,其中的类、接口和方法定义了系统的各个组件和功能。 【MySQL】:MySQL是一个流行...

    bs结构考试系统 bs结构考试系统

    BS结构,全称为Browser/Server(浏览器/服务器)架构,是一种网络应用模型,它将用户界面和业务逻辑分离,使得用户可以通过Web浏览器访问应用程序。在BS结构考试系统中,主要涉及的技术包括前端开发、后端开发、...

    .NET BS结构 物流管理系统 三层架构

    数据访问对象(DAO)和实体类(Entity Class)是这一层的关键组件,它们提供了与数据库交互的接口,实现了数据的增删改查操作。此外,事务处理和数据安全也是这一层需要关注的重点,确保数据的完整性和安全性。 2. ...

    数据库课程设计 bs网络结构

    BS网络结构,即Browser/Server(浏览器/服务器)架构,是现代Web应用开发中最常见的模式之一,广泛应用于各类Web应用程序,包括电子商务、在线教育、企业资源规划系统等。 在数据库课程设计中,BS网络结构主要涉及...

    软件体系结构名词解释.docx

    常见的软件体系结构风格包括面向对象设计风格、结构化设计风格、管道-过滤风格、层次风格、CS风格、BS风格、CS、BS混合风格等。 面向对象设计风格的组件是类和对象。连接件是对象之间通过功能与函数调用实现交互。...

    Delphi 演示BS三层数据库存取实例

    Delphi 演示BS三层数据库存取实例 Delphi演示BS三层数据库存取实例,程序由服务端和客户端构成,使用ado连接,后台access数据库。客户端从服务端获取数据并显示,有一个DataGird的应用,新手可参考一下。

    软件体系结构课程设计--图书管理系统

    软件体系结构课程设计--图书管理系统 软件体系结构课程设计是软件工程学科中的一门重要课程,本篇课程设计报告书的主题是图书管理系统。该系统的设计使用了Rational Rose工具,通过UML建模语言对系统进行设计和实现...

    c# BS 结构学习

    4. 数据绑定:在ASP.NET中,数据绑定是将服务器端数据与用户界面元素关联的过程,使得数据的更改能实时反映到UI上。这在BS结构中非常常见,特别是在显示数据库查询结果时。 5. LINQ(Language Integrated Query):...

    基于bs结构学生管理系统

    综上所述,基于BS结构的学生管理系统通过合理的模块划分、精细的用户权限管理、高效的三层体系结构设计以及先进的开发工具和数据库选择,能够显著提高学生管理工作的效率和质量。此外,系统的高扩展性和安全性也为其...

    bserp2 数据字典

    这个文档详细描述了bserp2系统在财务管理方面的数据结构。这包括但不限于会计科目、凭证、财务报表、预算管理等模块的数据元素。例如,会计科目表可能包含科目代码、科目名称、科目类型等字段,这些字段定义了企业...

    文件服务器BS结构

    【文件服务器BS结构】 在IT领域,"文件服务器BS结构"是一种常见的网络应用程序架构,它基于浏览器-服务器(Browser-Server)模式。这种结构的主要特点是用户通过浏览器进行操作,所有的业务逻辑和数据处理都集中在...

    学员管理系统源文件BS结构

    "BS结构"可能是一个文件夹,包含系统的前端页面和后端代码;"备份的数据库"则是系统运行所依赖的数据存储,可能包括学员信息、课程信息等各类数据的备份,以备恢复或迁移使用。 综上所述,【学员管理系统源文件BS...

    基于BS模式的学生信息管理系统(软件体系结构)

    在【软件体系结构】方面,该系统主要由前端用户界面和后端服务器两部分组成。前端通常使用HTML、CSS和JavaScript构建,为用户提供交互式的网页;后端则涉及服务器端的处理,如数据处理、业务逻辑和数据库交互。在本...

Global site tag (gtag.js) - Google Analytics