因为ssh划分的比较细,所以我决定把它们按照现在的框架分成3部分来说
1 页面细节,现在以上个User的add.jsp为例:
可以用的方案有: addPage.jsp-----add.jsp-----index.jsp
这是addPage.jsp
<html>
<head></head>
<body>
<form method="get" action="add.jsp">
<input type="text" name="username"/><br/>
<input type="password" name="password"/><br/>
...
<input type="submit" name="submit" value="提交"/>
</form>
</body>
</html>
这是add.jsp 是主要需要进行编程的地方
<%! Logger log = Logger.getLogger("XXX.jsp")%> //------------------1
<%
log.debug("show XXX.jsp page");
AppEngine app = AppEngine.getInstance(); //--------------------2
User user = new User(); //---------------------3
user.setUsername(request.getParameter("username"));
...
UserDao dao = app.getModule("UserDao"); //---------------------4
dao.add(user);
request.getRequestDispatcher("index.jsp").farword(request,response); //5
%>
上面的代码段我进行了标注,下面分别看看标注的各段所起的作用:
- 1标注属于增加的功能, 这些可有可无 ,暂时可以不去考虑
- 2是获得底层数据层
- 3获得标注为 获得表单数据, 为后续提供数据,这属于非常重要的功能
- 4操作数据层
- 5根据数据层操作进行转发
除开了1外, 其他的都是整个jsp系统所不可缺少的功能.而且也是jsp系统 通用的编码方式
现在,我讨厌在每个a.jsp--->b.jsp之间,建立转发的ab.jsp转发文件,我想要直接根据配置来进行转发, 不需要每次都去写那千篇一律的类似add.jsp的代码,该怎么办呢?
现在我们不想编写类似add.jsp规则的文件.,但是当前在类似addPage.jsp中又需要到add.jsp转发, 那么, 我们可以使用一套组件, 此组件根据申请的request的Host域内容进行来查找 所需要的数据层操作, 并进行转发.
我在这个组件中使用了Command模式设计, 通过读取配置文件, 然后调用
UserDao dao...
dao.execute(request,response);
这样,所有的转发和执行 都放在了此方法中, 应为系统太过简化, 很多必须的功能都没有, 所以 又定义了一个FilterChain接口 来作为程序执行链.我们需要定义的大部分其他缺少的能力 就可以通过扩展此FilterChain来进行链执行
事实上,很多人一眼就能看明白 ,这就是类似struts1的设计方法, struts1也是使用的Command设计方法,它比此体系多了以下几方面:
- ActionForm,这个是struts1一直被人诟病的地方,而且它也不是必须的,有更多更好的方法来封装页面消息了 在我们的系统中,我完全可以放任消息的传递不管也没问题的,struts1我想应该是开始效验设计上的考虑吧, 在效验组件没有出来之前,在这层作数据效验是最为方便的
- ActionMessages,消息结构并不是为web开发人员准备的, 我们需要往页面传递消息用的的这么复杂吗? 这个是为了配合页面的taglib的.所以在这个简单之极的结构中我们是不需要的
- ActionForward,这是struts1对转发体系的封装. 这个封装是必须的,为了配置上的方便. 不过我们在这里为了简单.直接使用request.getRequestDispatcher("index.jsp").farword(request,response)好了.
- ActionCommandBase 这个我也是今天才看到的, 以前的struts1好像没有这个吧. 这个同样是使用了 Command模式, 事实上跟Chain 差不多, 不过Command不讲究顺序, Chain有顺序而已, 这个体系应该是学的xwork: 在整个线程链中加入类似拦截体系的东西.. 不过加入了这个后, struts1里面原先设计的很多固定的功能性方法就不必要了... 我在这里也弄个 扩展FilterChain 哈哈
这个是使用的Command方式的扩展, 当然 还有使用Proxy的扩展,使用jdk的反射,或使用proxy组件之类的
proxy组件介绍与设计方法:
struts2大体介绍
taglib
freemarker....
待续
- 大小: 18.5 KB
分享到:
相关推荐
在BS体系结构中,通常采用三层架构:用户界面层、业务逻辑层和数据访问层。用户通过浏览器向服务器发送请求,服务器处理请求,执行业务逻辑并访问数据库,最后将处理结果返回给浏览器。这样,服务器承担了大部分计算...
【基于BS体系结构开发应用系统设计方案】 在信息技术领域,基于Browser/Server(BS)体系结构的开发模式已经成为构建网络应用系统的一种主流方式。BS体系结构,又称为浏览器/服务器架构,其核心特点是用户通过Web...
软件体系结构的4+1视图是指从5个不同的视角来描述软件体系结构,包括逻辑视图、进程视图、物理视图、开发视图和场景视图。 逻辑视图是指主要支持系统的功能需求,即系统提供给最终用户的服务。开发视图也称模块视图...
软件体系结构课程设计--图书管理系统 软件体系结构课程设计是软件工程学科中的一门重要课程,本篇课程设计报告书的主题是图书管理系统。该系统的设计使用了Rational Rose工具,通过UML建模语言对系统进行设计和实现...
CS结构(Client/Server结构)和BS结构(Browser/Server结构)是两种常见的软件系统体系结构。CS结构是一种传统的结构,客户机和服务器结构通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server...
【标题】"java+++mysql++BS结构的进销存系统源码整理"涉及的主要知识点是基于Java编程语言和MySQL数据库构建的BS(Browser-Server,浏览器-服务器)架构的进销存系统。进销存系统是企业管理的核心部分,用于跟踪和...
在“BS.rar_BS_bs 三层 结构”中,我们可以看到这个压缩包可能包含了一份关于BS架构下三层结构的详细文档(BS.doc)。现在,让我们深入探讨一下这个主题。 首先,我们来理解一下“BS”架构。BS是Browser/Server...
BS网络结构,即Browser/Server(浏览器/服务器)架构,是现代Web应用开发中最常见的模式之一,广泛应用于各类Web应用程序,包括电子商务、在线教育、企业资源规划系统等。 在数据库课程设计中,BS网络结构主要涉及...
三、CS结构和BS结构的比较 CS结构和BS结构都有其优缺点,选择哪种架构取决于具体的应用场景和需求。如果需要高-performance、复杂的事务处理和个性化的功能,可以选择CS结构;如果需要简单、快速、分布式的解决方案...
3. MVC(Model-View-Controller):ASP.NET MVC是一种设计模式,它将应用程序分为模型、视图和控制器三个部分,有利于代码的组织和测试。模型处理数据,视图呈现界面,控制器协调两者之间的交互。 4. 数据绑定:在...
BS结构,全称为Browser/Server(浏览器/服务器)架构,是一种网络应用模型,它将用户界面和业务逻辑分离,使得用户可以通过Web浏览器访问应用程序。在BS结构考试系统中,主要涉及的技术包括前端开发、后端开发、...
C/S系统与B/S系统 基于bs结构体系结构的oA系统 开发B/S结构的主流技术
综上所述,基于BS结构的学生管理系统通过合理的模块划分、精细的用户权限管理、高效的三层体系结构设计以及先进的开发工具和数据库选择,能够显著提高学生管理工作的效率和质量。此外,系统的高扩展性和安全性也为其...
在这种结构中,用户界面通过WWW来达到在前端充分实现部分逻辑的目的,但最主要的逻辑在服务器中实现,从而形成一个所谓的三层结构。B/S结构主要被用于成熟的WWW技术,与多种浏览器脚本语言(VBScript, JavaScript)...
1. **BS架构原理**:BS架构由客户端(浏览器)、应用服务器和数据库服务器三部分组成。用户通过浏览器发送请求到应用服务器,服务器处理请求并返回数据,浏览器再将数据显示给用户。这种架构降低了客户端的负担,...
【文件服务器BS结构】 在IT领域,"文件服务器BS结构"是一种常见的网络应用程序架构,它基于浏览器-服务器(Browser-Server)模式。这种结构的主要特点是用户通过浏览器进行操作,所有的业务逻辑和数据处理都集中在...
### SHGSM-02-BS240基本结构介绍 #### 概述 本文档旨在详细介绍Siemens公司的SHGSM-02-BS240基站的基本结构及其相关技术特性。BS240作为一款重要的GSM基站设备,在全球范围内被广泛应用。它支持GSM900和GSM1800/...
在Lotus Domino Web应用程序开发中,视图(View)是数据呈现的重要组成部分,它允许用户以结构化方式浏览和检索数据库中的文档。本篇将详细解释Lotus Domino BS(Browser-based,基于浏览器)开发中与视图相关的URL...
#### 三、基于B/S体系结构的GIS网站结构 基于B/S体系结构的GIS网站主要包括以下几个组成部分: 1. **地图服务器**:负责存储地图数据,并处理来自Web服务器的地图数据请求。地图服务器执行数据处理后,将处理结果...