Spring作为一个强大的轻量级开源框架,是连接Struts和Toplink的桥梁,使用Spring能够很好地处理业务逻辑层,同时降低各种依赖关系的祸合关系,实现了组件间的松散祸合,加快了开发进度。Spring采用控制反转原则,利用BeanFactory容器来实例化、配置和管理Bean,通过这种方式管理业务逻辑层。业务逻辑层的工作流程如图:业务逻辑层为表示层提供统一接口Service。通常情况下我们在Service接口内定义所需的业务方法,然后在Service实现类中通过对DAO的调用来实现业务逻辑。对O-R模型对象的调用可以通过Spring的配置文件ApplicationContext.xml的配置得到实现。Spring支持三种依赖注入分别是setter、构造函数和方法注入。在本架构中,采用Setter注入方式对bean进行管理。 3.3表示层的设计与实现 3.3.1表示层的设计目标 表示层的设计好坏直接关系到系统用户的体验,如果表示层设计缺乏吸引人的特色,界面不够友好,操作不够体贴,即便系统的功能丰富,性能优异,也很难给用户留下好的印象。由于本文是论述系统的实现,所以这里所关注的表现层设计,并没有在美术的设计上下工夫,而是从架构设计的角度出发,阐述在表示层设计中MVC模式的应用。 3.3.2表示层的实现 本系统采用struts来完成表示层的设计与实现。下面结合用户注册模块,介绍Struts的工作流程: (1)用户在浏览器中输入(或通过其他页面跳转)注册页面URL,这时客户端出现regjsp页面,显示注册页面; (2)输入注册信息“用户名”、“密码”、“电话”、“邮箱”,它们的属性分别是“username”、“password”、“telnumber”、“email”,然后点击“确定,,按钮提交表单,表单名为regForm; (3)服务器端接收到用户的HTTP表单请求,查找struts配置文件struts-config.xml以确定是否有响应用户请求的条目,并根据文件内容进行路径和功能的映射; (4)Actionservlet类将接收到的用户请求打包成一个ActionForm类,即RegForm对象,这个对象实际上就是一个使用set()或者get()方法的JavaBean,里面包含用户注册填写的那四个字段; (5)系统生成一个用户请求的Action实例对象,即RegAction,并将前面的ActionForm对象传递给它,然后调用RegAetion中的Cheek()方法,检验是否有重名或者格式的有效性,如果没有,则调用reg()方法,将从regF0rm中获得的字段值保存在User对象中,最后由userDaoToPlink类完成数据的持久化工作; (6)在reg()方法执行完后会生成一个ActionForward类型的对象并将之返回给Actionservlet,该对象的作用是用于页面的跳转。 参考文献 [1]李桂芬.现代档案管理系统研究与发展.兰台世界,2008.1,No.36 [2]吴王平.基于JZEE的高校采购系统的研究与设计.浙江工业大学硕士学位论文,2009.4,No.7 [3]王向兵.JavaEE多层架构StrutsZ+spring3+Hibernate3+Ajax的整合.大连海事大学硕士学位论文,2009.6,NO·7 |