1.2 选题意义
随着校园内学生消费水平的提高以及需求关系的迅速变化,今天你很需要的东西明天可能就很少用到,只能搁置,这样无疑是浪费资源。而且,有些人一直搁置不用的物品却是别人当前需要的东西,买新的价格比较高不忍心,想买个二手的却不知道谁有货要出售。
基于这一问题,我想让社会普遍流行的二手交易在校园内同样盛行。为了方便卖家发布信息,买家获取信息,我开发了二手交易平台系统。学生通过使用自己的学号在网站注册用户,使用合法的用户名可以发布自己需要出售的二手商品信息,或者发布自己想要收的二手商品信息。其他用户登录网站可以浏览所有用的需求,迅速定位,找到适合自己的卖家或者买家。
二手交易平台的产生从一定意义上来说,展现的当代学生勤俭节约的美德,以及体现了网络的真正价值所在。
1.3 系统设计思想
本系统参照其他网络交易网站开发[2],设计前首先要清楚系统的功能应该有哪些:通过学生学号才可注册以及登陆、合法用户登陆后可以发布求购或者求售的商品信息、用户可以对自己发布的信息进行修改、用户发现自己中意的商品后对其进行留言与商家联系、用户可以通过关键字快速查找自己想要的商品。知道自己需要实现哪些功能之后就要考虑通过什么技术来实现这些功能,写代码时要考虑到自己的代码是否健壮,是否方便后期维护。还有页面的板式应该如何设计才能让用户看起来清晰明了。写完这些功能之后还需要测试应该实现的功能是否完善,是否存在潜在bug,尽早修复bug。源'自:751-'论~文'网·www.751com.cn
2 技术介绍
2.1 Struts框架简介
所谓框架就是提供了一组统一的接口和编程方式的可以重用组件,同时我们可以在框架中扩充我们自己的特定逻辑。
模型组件:负责业务逻辑;模型包含应用程序的核心功能。模型封装了应用程序的状态。有时它包含的唯一功能就是状态。它对视图或控制器一无所知。
视图组件:负责表示业务范围的视图;视图提供模型的表示。它是应用程序的 外观。视图可以访问模型的读方法,但不能访问写方法。此外,它对控制器一无所知。当更改模型时,视图应得到通知。
控制器组件:负责控制用户输入的流和状态;控制器对用户的输入作出反应。它创建并设置模型。
Struts是一个用户简化MVC框架(Framework)开发的Web应用框架,用于快速开发java web应用。Struts最早是作为Apache Jakarta项目的组成部分问世运作。项目的创立者希望通过对该项目的研究,改进和提高java server page、servlet、标签库,以及面向对象的技术水准[3]。
Struts自带tag标签库,这个标签库非常丰富,灵活运用可以大大减少代码量提高编程效率,一般开发者除了使用jsp自带的标签库意外很少去自定义标签库,而Struts自带的标签库可以弥补这一问题。除了标签库,Struts还提供Exception处理机制,以及数据库连接池管理,功能之多,使用很方便。
Struts也有很多不足之处,比如说,Struts框架每个action都与web耦合在一起,测试必然依赖web容器,这样很不利于单元测试。Struts的类型转换也是很麻烦,类型转换错误的错误信息返回给用户也很困难。除此之外,Struts框架很依赖Servlet,处理action时必须使用ServletRequest以及ServletResponse,无法脱离Servlet容器。Struts中,一个表单只能对应一个action,很难对表单的处理粒度化到每个字段。
2.2 Hibernate框架
大多数应用程序都需要处理数据。Java应用程序运行时,往往把数据封装为相互连接的对象网络,但是当程序结束时,这些对象就会消失在一团逻辑中,所以需要有一些保存它们的方法。有时候,甚至在编写应用程序之前,数据就已经存在了,所以需要有读入它们和将其表示为对象的方法。手动编写代码来执行这些任务不仅单调乏、易于出错,而且会占用整个应用程序的很大一部分开发工作量。