Spring框架通过applicationContext.xml文件进行配置,获取表示层的管理权,并建立于数据库的连接。在系统实现中,业务逻辑的设计就是利用接口Biz和接口的实现类BizImp设计表示层中具体所要使用到的处理方法。业务层框架Spring为表示层的Action配置一个bean属性,并将各个Action类注入到前面定义好的接口实现类BizImp,通过数据持久层Hibernate提供的接口完成对数据库的存取操作。
3)数据持久层的实现
Hibernate通过将数据库中的表转换成JavaBean,表中的字段对应JavaBean的属性。这样后面对表的操作也就变成了对这些JavaBean的操作,实现对数据库的面向对象编程,在数据持久化层的实现过程中最主要的是配置Hibernate.cfg.xml文件和实体映射文件。
3.2 系统安全性考虑
1)登录验证码
在登录界面,用户每次登录时必须输入一个随机生成的验证码,这个验证码是不可预知的,这样可以防止暴力程序的破解。
2)身份认证
系统中的部分功能是必须经过身份认证才能访问的,未授权用户将被拒绝。用户经过身份认证后,其信息会保存在服务器端的session当中,这些信息将伴随着会话的结束即浏览器的关闭而自动销毁。并且设置session的合适失效时间,当用户长时间不做任何操作,再进行访问相关资源时必须再次经过身份认证。另外所有的访问都经过Struts2的Action进行,这样防止了资源名的暴漏。
3)服务器安全性
服务器端的安全是十分重要的。一方面是在数据库上只开放需要的权限,并且不用sa用户,重新建立一个新用户;还要通过过滤用户输入防止sql注入。另一方面是关闭服务器上不需要的服务和端口,防止其他用户的恶意访问,并对文件夹权限进行设置。
4 结束语
通过SSH2框架和AJAX技术在网上销售系统中的应用开发,取得了以下研究成果:
1) 对Struts2、Spring、Hibernate框架进行了深入分析,根据其各自的优缺点,将它们组合应用到基于MVC模式的多层B/S结构Web应用系统中。
2) 根据网上销售系统的特点,提出了Struts2框架、Spring框架、Hibernate框架和AJAX技术相结合的集成整合方案。系统设计与实现采用分层的思想,Struts2负责表示层的视图显示,中间业务层由Spring进行管理,Hibernate完成与数据库的交换。另外,针对Web页面显示的不足,系统引入DWR框架使用AJAX技术实现多处的数据异步通信,大大提高了用户体验,优化了系统性能。
3) 系统完成之后,进行了功能和整体测试,测试结果显示达到系统设计要求。通过Apache JMeter测试工具对网上销售系统进行了整体测试,然后根据生成的聚合报告分析了系统在一定负荷压力下的性能,剖析原因所在,提出改进方案。