基于struts的网上书店

2024-06-26 版权声明 我要投稿

基于struts的网上书店(推荐8篇)

基于struts的网上书店 篇1

关键词:Struts;网上商城;订单管理;商品管理;货物配送

网上购物是一种可以实现交互功能的商业信息系统,相比传统购物具有很多优势,对于商家来说,由于网上销售经营成本低、经营规模不受场地限制、没有库存压力等,基于这些优势会有越来越多的商家选择网上销售。对于整个市场经济来说,网上购物可在更广的范围内和更宽的层面上以更高的效率实现资源配置。因此,网上购物网站的建设在当今乃至今后一段时间将会受到企业内部和互联网越来越多的关注。

1网上购物国内外现状

在国外,如美国、日本等计算机水平较发达的国家,越来越多的行业加入到网上商店,因此网上商店发展速度飞快。美国的世界级超一流的零售商,如沃尔玛凯玛特、家庭仓储、科罗格、J.C培尼等都开展网络商店。经过调查表明,美国越来越多的家庭已习惯于在家中进行网上购物。

2系统开发的可行性分析

开发任何一个系统,都会受到资源和技术的限制,因此,在开发系统前,要进行技术可行性和经济可行性分析,以减少开发风险,避免人力、财力、物力的浪费。

2.1技术可行性

随着计算机网络的发展,上网人数越来越多,人们已经习惯和接受通过电子商城来进行购物和接受服务。因此,在这种前提下,企业通过网站向客户提供各种各样商品的销售,能够被客户所接受,同时也可以增加企业客户访问量。

网上商城购物系统的开发技术已经日趋成熟,无论是在硬件还是软件方面。首先,在硬件方面,由于计算机硬件速度和网络运行速度的大幅度提高,为网上电子商城的运行打下坚实的基础。在软件方面,开发中小型电子商城系统,主要采用的技术是Struts框架,它是结合Servlet和Jsp技术的,一种构造MVC应用模式的框架,Struts是一种框架,同时也包含了标签库和独立的程序类,所以,使用此框架技术来开发网站是很好的选择。

2.2经济可行性

网上电子商城系统在为用户提供方便购物的同时,也给商家带来了效益,主要体现在以下方面:

1)销售时间的宽裕性。不需要专人看守,即可实现时时刻刻营业;

2)投资少,收益快;

3)购买人群可在全国各地,不受地区限制;

4)客流量大。只要经营方法得当,即可带来丰厚利润;

5)辅助收益。收益进一步又可分为浏览查询信息带来的收益,如资料下载、数据查询、娱乐欣赏等收费宣传推荐性信息的收益,同样也有广告收益。

3系统设计

在商城系统中,商家为了更好的销售商品提高销售额,会根据销售记录和用户需求,在原商品库存的基础上,进而收集供货商、生产企业的商品相关信息,从中找出最能满足用户需求的产品或商品提供给用户。当用户注册成为会员后,可将选择的商品放入购物车生成订单,用户从中选择适合自己的交易方式。商家在收到订单后核实库存,若商家库存中没有该商品,则将订单发往生产企业或供货方,客户直接从那里提货,从而发挥网上商家虚拟库存的优势。如果有库存并且客户选择网上支付,通过支付系统在各自的代理银行间实现电子资金转账后,商家把提货、送货信息传给货物配送公司。货物配送公司根据得到的信息,到商家的商品仓库中提货,或直接到生产企业或供货方处提货,送至用户手中。

4结束语

本文对网上购物国内外现状及在此现状下开发网上商城系统的可行性进行了分析,并对系统中使用Structs技术开发的相应模块做了详细的介绍。该文实现的电子商城系统,在配置相应的Web应用服务后,如ApacheTomcat等后,即可进行发布并使用。

参考文献:

基于struts的网上书店 篇2

网上购物这种新的销售与传统餐饮销售相比不需要实体店降低成本,不需要请过多的店员降低管理成本,还能减少库存、缩短生产周期、扩大市场销售范围,与客户良好沟通提供个性化服务等优势,极大提高了传统餐饮销售的效益和效率[1,2]。同时,消费者浏览菜品预定菜品是没有时间限制的,可以足不出户在网上查询购买自己喜欢的菜品种类。

2 关键技术

Struts是一种开源框架。通过MVC设计模式进行整体系统的设计与实现,通过Struts来替代传统的MVC的设计,大大减少了代码量,还可以对代码进行优化,提高了系统代码的质量及其运行的速度,时间大大缩短。Struts是对JSPModel2设计标准的一种实现,在Struts里面,视图层包括两个部分,JSP页面和Action[3]。在控制层,Struts提供一个控制器组件Action Servlet,继承自Http Servlet并重载了Http Servlet的do Get(),do Post()方法接受http的响应,进行转发。模型表示状态和业务逻辑的处理,一般用javabean或者EJB实现系统的业务逻辑[4]。

3 概要设计

系统主要分为前台和后台两个管理模块,其中前台管理模块主要包括菜品信息模块、菜品信息查询模块、系统公告模块、网站留言板模块和菜品订购模块。后台管理模块主要包括管理员管理模块、菜品信息管理模块、会员信息管理模块、公告信息管理模块、订单管理模块、营业信息管理模块。

(1)前台用户模块:用户进入系统查看菜品信息并对符合自己个人口味的菜品进行预订操作或可取消预订信息,增加信息,或者修改个人信息。

(2)前台操作员模块:会员用户进入系统,浏览相应菜品、查看留言板的内容,根据留言板的信息和反馈,选择自己中意的菜品。

(3)后台管理员模块:可以对会员用户对应的信息处理,查看前台的留言信息和菜品信息的销售情况,对会员进行增加、删除等操作。

4 详细设计与实现

4.1 菜品预定模块

(1)功能概述。此模块主要实现该网上订餐系统已注册的用户成功登录系统,进入预定菜品界面,通过查看菜品信息从而预订符合自己喜好的菜品。

(2)用户user输入自己的登录账号和密码,通过调用News Servlet类中addprep(username,password)方法验证信息登录网上订餐系统,系统返回消息set Message弹出对话框提示用户登录成功。用户点击“菜品预订”,向系统提交用户ID,系统通过News Servletr类的do Post()方法,将会员预订信息插入预订单中,插入SQL语句"Update into reg User values(“%d”),系统以index.jsp页面的形式向用户返回信息。系统调用DBO类中的execute Update(sql)方法保存预订信息,DBO类与数据库进行交互,保存传入的数据并更新数据库,set Attribute(message)方法用来提示用户预订菜品成功,用户可以继续预订菜品。用户预订菜品信息序列图如图1所示。

4.2 菜品预定结算模块

(1)功能概述。管理员登录网上订餐系统,对会员订餐信息进行查看,确认订餐信息后,对预订菜品进行结算。

(2)会员输入自己的登录账号和密码,通过调用News Ser vlet类中addprep方法,系统返回消息set Message弹出对话框提示会员登录成功。会员通过“我的购物车”功能模块,确定“支付”,由prep.jsp页面中的表单post()方法,向系统提交会员id,控制器Admin Servlet接受请求,调用自身的do Post()方法,该方法调用Ad min Bean类中的int Up Prep()方法,将与之对应的会员信息的id查找出来,执行SQL语句"insert into Member values(“%d”),系统以prep.j s p页面的形式向管理员返回信息。D B O类执行更新SQL语句与数据库进行交互,execute Insert(sql),将SQL语句执行,进而进行转发,跳转到对应的user.jsp页面,返回信息提示会员菜品预定结算成功。会员菜品预定结算信息序列图如图2所示。

5 结语

本次网上订餐系统在My Eclipse开发平台上采用B/S体系结构,对于前台语言使用Java语言与JSP技术来完成前台操作,后台数据库使用My SQL来完成对数据的操作。在此次的网上订餐系统中,笔者所做的系统基本上成功地做出了基本功能,系统的主要功能有对菜品的各类信息进行处理,对会员进行相应的权限的授予,会员订购的订单进行对应的处理,会员购买的菜品进行模拟支付,对预定的菜品的种类进行评价,相应的会有对应的回复。统计收入情况,指定特定的时间段。同时还可以查看会员预定菜品的详细订单。

参考文献

[1]闻永萍.基于JSP的网上订餐系统网站开发[M].北京:清华大学出版社,2011.

[2]吴亚林.试谈基于Web的网上订餐系统[J].电脑编程技巧与维护,2012(12):70-71.

[3]宣小平.JSP数据库系统开发实例导航[D].北京:人民邮电出版社,2003.

基于struts的网上书店 篇3

关键词:实验教学;框架;Struts

中图分类号:TP311.52文献标识码:A文章编号:1007-9599 (2011) 06-0000-01

Experiment Teaching System Based on the Struts Architecture

Fu Kun,Ning Bin,Zhou Jianwei,Wang Min

(Institute of Mathematics and Computer Science,Xiangfan University,Xiangfan441053,China)

Abstract:The experiment teaching system uses Web technique to realize the incorporating of network teaching work.In the paper,based on Struts Architecture,the process on design and implement of experiment teaching system is introduced.And then the bottle necks of the experiment teaching system popularizing are solved,which is adapted to construction demand of experiment teaching system.

Keywords:Experiment Teaching;Architecture;Struts

基于Web的实验教学系统是一个集教、学于一体的平台,打破传统的集中于实验教学过程,借助于计算机技术,将其转移到网络上,实现开放式的实验教学过程,从而提高实验教学质量。文中详细介绍了在Web环境下基于Struts框架如何应用于实验教学系统的开发实例。

一、Struts框架简介

Struts是基于MVC模式应用架构而建立的开源框架,采用的主要技术为Servlet,JSP和custom tag library(客户标签库)。Struts的Controller是通过ActionServlet对象实现的,它获得View(JSP)的请求后根据ActionMapping对象调度对应的Model(Action对象)处理业务逻辑,并将获得的处理结果(ActionForward对象)返回给View(JSP)来响应,同时通过ActionForm对象封装数据在Model和View之间交互使用。Struts还通过自定义的标签库(custom tag library)扩充View层的JSP技术,丰富了页面设计。

二、实验教学系统的构建

采用基于Struts的Web应用体系结构,即基于三层的浏览器/服务器(B/S)体系结构。Web浏览器是集成所有信息服务的最终平台,提供全动态、分布式的信息发布与处理机制,实现实验教学信息按角色或权限进行动态发布和更新。构建的系统功能划分如图1所示。

该系统拥有三类用户角色,分别为实验室主任(或管理员)、实验指导教师、学生。根据实验室主任、教师和学生三类实验用户的定位,自动化生成适合不同角色访问的实验室资源体系框架,有效地为用户提供资源使用引导。当实验室主任登录后,可以设置开放实验室资源、排课、审批开放预约、统计数据;实验指导教师登录后可以查询课表、预约实验室、在线批改实验报告、上传资源;学生登录后可以预约实验室、上传实验报告和查询批阅结果和成绩、下载实验指导书等资源。该系统有助于实现科学化、统一化的实验资源管理;有助于搭建和展示具有一定特色的实验门户平台。对于教师和学生而言,充分有效地应用实验室各类资源,及时全面地掌握实验室资源信息。

三、实验教学系统的应用改进

(一)安全性控制

通过使用ProcessRales方法提供的页面和功能级别的安全检查,扩展RequestProcess类,覆盖其方法processRoles进行安全性检查。其中,使用HashMap存储角色到页面ID和功能ID的映射,在配置文件web.xml中加人安全的声明方法来实现功能权限上的访问;在Tiles文件中设置,实现页面级的安全控制。

(二)响应中文请求的设置

采用Servlet2.3中提供的Filter特性,解决在页面请求的数据中包含中文时显示乱码问题。编写一个完成编码转换功能的类,实现Filter接口,并且在web.xml文件中做相应的配置,即可让所有页面请求中的request数据在被接收到FormBean显示之前转换为GB2312编码。

四、结束语

Struts是一个基于MVC的开源框架方式,灵活地应用它,能大大提高Web应用程序的开发效率。这在实验教学系统的设计、开发和维护阶段得到了有效地体现。利用Struts框架提供的各种使用类和标签库,能够简化编码工作,更多的精力用于解决实际业务问题上;通过配置文件即可实现页面导航,把握系统各部分之间的联系,从而提高了系统的可维护性和可扩充性。

参考文献:

[1]张玮.基于J2EE的网上教学评估系统的设计与实现[J].计算机与现代化,2007,12:21-24

[2]章彪.基于MVC模式的Struts框架的研究[J].微型计算机,2007,11:65-67

[3]李强银,吕军政.MVC+ADO模式在J2EE Web开发中的应用[J].信息技术,2007,2:20-22

[基金项目]襄樊学院大学生科研项目(2010DXS009),湖北省教学研究项目(2008219)

基于struts的网上书店 篇4

【中文摘要】随着电子商务的不断发展,以及计算机技术、通信技术、媒体技术、互联网及企业内部网络的不断向商务活动靠拢,促进了商务活动的信息化和无纸化,新型的交易模式在不断的发生着变化,也影响着人们日常消费习惯的改变,并在短短的几年间得到了长足的发展和进步。大多的网络电子商务以网上商城的形式存在,就目前的调查来分析,网上商城的应用范围在国内有BtoB模式,如阿里巴巴;CtoC模式,如淘宝、易趣等;BtoC模式,如当当、卓越等。这三大类模式基本上涵盖了电子商务的各个形式,但是应用范围并没有做出严格的限定,在全国范围内有著名的几个大型批发市场,例如南方的义乌、北方的南三条等大型的批发市场,如何在技术上实现市场上的商家与客户的电子商务交流模式值得探讨,建立起一套适合区域性、安全性能高、适合限定区域类B/S模式的网上商城系统势在必行。本文针对现有的网络商城在电子商务中的生存模式进行分析,J2EE是建立在Java语言基础之上的Java技术,本身具有良好的运行效率、组建的复用性和跨平台等优点,采用J2EE电子商务应用开发的利用和方法,分别在网络安全环境搭建、信用评价体系建立、电子支付方法、物流配送体系等几个方面入手进行研究...【英文摘要】With the continuous development of e-commerce, computer technology, communication technology, media technology, the Internet and internal network are drawing

towards the business activities, which promotes the informationization and paperless, and affects people’s daily consumption habits’change, and in a few short years has considerably developed and progressed.Most of the international e-commerce exists in the form of the online shops.Depending on the present survey, we can draw the conclusion that t...【关键词】网上商城 J2EE 多层分布体系结构 电子商务 网络安全 评价体系 交易模式

【英文关键词】online mall J2EE multilayer distributed system structure electronic commerce network security evaluation system trade pattern 【目录】基于J2EE技术的网上商城系统设计4-5Abstract5-6

摘要

1.1 研究

第1章 绪论10-15背景10-1110-11

1.1.1 项目背景101.1.2 技术背景

1.2.1 国1.2 现阶段国内外的研究现状11-13际电子商务发展的现状11-12状12-13排14-1515-2716-19原理16-18

1.2.2 国内网上商城的发展现

1.4 研究内容与章节安1.3 相关工作13-14第2章 基于J2EE的网上商城开发理论和方法2.1 B/S与C/S模式15-162.2.1 Java语言16

2.2 J2EE体系

2.2.2 Java面向对象的编程

2.2.4 基于

2.2.3 J2EE体系构成18-19

J2EE系统的优点19运行特点19-20组件复用技术20-22JavaBean21MVC22-24

2.3 JSP技术19-202.3.2 JSP运行环境20

2.4.1 组件技术20-21

2.3.1 JSP的2.4 Java Bean

2.4.2

2.4.3 EJB技术21-222.5 WEB开发框架

2.5.2 2.5.1 MVC模式WEB框架技术22-23

2.6 J2EE数据库开发技术Struts技术23-2424-2624-25技术25-262.6.1 JDBC技术242.6.2 数据库连接池技术

2.6.4 Hibernate第3章 J2EE网络安全2.6.3 连接池应用的实现25

2.7 本章小结26-27

27-34开发技术与电子支付27-292829-30

3.1 电子商务安全技术

3.1.2 加密技术3.2 电子支付手段

3.4 基于移动支付确

第4章 3.1.1 数字认证283.1.3 数字签名28-293.3 电子支付模型30-32

32-33认的电子支付系统3.5 本章小结33-34网上商城商家信用评价体系的构建34-40价体系存在的问题34

34-35

4.1 现有的商家评

4.1.1 评价级别设计不合理

34-35

4.2 网上商城系4.1.2 信用度的可比性不足统对商家信用评价体系的构建35-3735-3636-3739-4040-51

4.2.1 指标的选取4.2.2 评分体系标准及评分函数的确定4.3 指标权重的确定方法

37-39

4.4 本章小结第5章 基于J2EE的网上商城设计分析与规划5.1 案例背景及网络环境分析40

5.2 系统运行

环境规划及模块分析40-47

40-485.2.1 数据库的设计

5.2.3 后台5.2.2 前台导航台功能模块设置47的功能模块47-48统架构规划48-50章小结50-51

5.3 网上交易中心主要业务流程分析及系5.4 网络安全的构建管理50第6章 网上商城系统的实现51-69

6.1.1 用户注册模块的实现

6.1.3 订单模

6.2 后台5.5 本6.1 前台模块的实现51-6551-586.1.2 购物车模块的实现58-63

6.1.4 商品留言模块64-65块的实现63-64主要模块的实现65-6865-67结68-69搭建69境搭建6969-7172-73

6.2.1 产品类别模块的实现

67-68

6.3 本章小6.2.2 产品搜索模块的实现第7章 系统测试69-737.1.1 JAVA虚拟机的安装7.2 系统测试69-727.2.2 集成测试71-72结论

73-7477-78

参考文献致谢

7.1 系统运行环境的69

7.1.2 Tomcat环

7.2.1 单元测试7.3 本章小结74-77

攻读硕士学个人简历位期间所发表的论文79

基于struts的网上书店 篇5

平台的设计与实现

(英文):Based on JAVAEE online pharmaciessell platform design andimplementation 学

院:科学与技术学院 专业:软件设计 姓名:曾祥武

学号:

2012041543147

指导教师:钟桂凤 日

期:2016年4月

计)

基于JAVAEE的网上药店销售平台的设计与

实现

摘 要

随着计算机技术的不断发展,应用软件迅速普及,大到厂矿校企,小到图书、餐饮、医药管理等,随处都可看到它的身影。在以往依靠人工为主的医药管理方面,计算机和计算机管理系统逐步唱起了主角,凭借省时、省力、低误差等优点,从根本上改变了医药管理的传统模式,节省了人力资源,提高了工作效率。

该系统是基于JAVA EE 技术开发的Web应用,以典型的MVC模式架构为基础。通过SSH框架来实现,系统基于B/S分布式结构,适应范围广阔。

关键词:JAVA EE;SSH

Based on JAVAEE online pharmaciessell platform

design andimplementation

Abstract

With the continuous development of computer technology,the rapid expansion in the application software,a wide range to factories and mines or a small range to books, food, medicine, management.It can be seen in everywhere.In the past mainly rely on artificial medicine management,computers and computer management system in a plumb position gradually,with the advantages of the saving, energy saving, low error, fundamentally change the traditional pattern of medicine mannagement, save the human resources improve the working efficiency.The system is based on Jave EE Web application of the technology development,based on the typical pattern of MVC architecture.Through SSH framework to implement,distributed system based on B/S structure,wide adaptation Keywords: JAVA EE,SSH

目录

1前言..............................................................6 1.1 课题背景......................................................7 1.2 课题意义......................................................7 1.3 课题开发环境..................................................7 1.4 国内发展现状..................................................7 2相关技术介绍......................................................8 2.1 系统设计采用的核心技术........................................8 2.1 系统开发环境..................................................9 3可行性研究和需求分析.............................................11 3.1 可行性分析...................................................11 3.1.1经济可行性................................................11 3.1.2技术可行性................................................11 3.1.2操作可行性................................................11 3.1.3系统功能需求描述..........................................12 4数据库设计....................................................13 4.1 数据分析.....................................................13 4.2 数据库表设计.................................................14 4.2.1 数据库 E-R 图............................................14 4.2.2 数据库表.................................................15 5详细设计与实现...................................................18 5.1 系统前台基本功能的设计与实现...............................18 5.1.1注册..................................................18 5.1.1.1实现效果.........................................18 5.1.1.2实现过程.........................................19 5.1.2 登录..................................................26 5.1.2.1 实现效果........................................26 5.1.2.1 实现过程........................................27 5.1.3 商品展示模块..........................................32 5.1.3.1 实现效果........................................32 5.1.4 购物车模块............................................38 5.1.4.1 实现效果........................................38 5.1.4.2 实现过程........................................38 5.1.5 关键字搜索............................................44 5.1.6 在线客服..............................................46 5.1.6.1 实现效果........................................46 5.1.6.2 实现过程........................................46 5.2 系统后台管理功能设计与实现.................................47 5.2.1商品信息管理模块......................................47 5.2.1.1实现效果.........................................47 5.2.1.2实现过程.........................................47 5.2.2 用户信息管理模块......................................62 5.2.2.1 实现效果........................................62 5.2.2.2实现过程.........................................62 5.2.3 订单管理模块..........................................66 5.2.3.1实现效果.........................................66 5.2.3.2 实现过程........................................66 6.系统测试........................................................74 6.1软件测试概述.................................................75 6.2测试内容.....................................................75 结论..............................................................75 参考文献..........................................................76 致谢..............................................................77

1.前言

1.1 课题背景

在日常医药管理中,面对众多的药品和众多不同需求的顾客,每天都会产生大量的数据信息。以传统的手工方式来处理这些信息,操作比较繁琐,且效率低下。此时,一套合理、有效、实用的医药销售系统就显得十分重要,利用其提供的药品查询、药品分类功能,可以进行高效的管理、销售,更好的为顾客服务,于是,网上药店应运而生。

网上药店是能够通过电子商务交易市场实现与个人消费者在互联网上进行医药商品的交易,其主要功能是网上药品零售和在线药学服务。同时,网上药店与实体药店相比具有药品便宜、购药方便、保护隐私等优点,实体零售药店很少见的药品,消费者可以在网上药店购买到。当今社会,使用网上购物的消费者也是越来越多,网上购物的方便与快捷也令网上药店这一模式越发的普及。1.2 课题意义

随着科学技术的发展,计算机领域不断取得新的研究成果。并不断地代替和延伸脑力劳动方面发挥越来越重要的作用,无论是工业还是日常生活都越来越离不开计算机,尤其是在商店里,随着规模不断扩大和产品的不断增加,要处理大量的产品数据信息显得尤为的重要.本系统主要是管理药品的销售管理和在线发布、客户在线咨询,其功能包括:后台登陆、登陆的权限、不同的用户登陆到不同的后台、根据登录到后台的用户权限不同能实现对信息的添加、删除、修改、查询等一项或多项功能。系统使用动态页面设计,并用Mysql进行后台数据库的链接设计,以此形成整个管理系统。1.3 课题开发环境

主要开发工具:MyEclipse 10,MySQL、Tomcat6.0 主要技术包括:Java EE轻量级框架SSH 1.4国内发展现状

自2005年9月29日国家食品药品监督管理局正式发布《互联网要批交易服务审批暂行规定》以来,经监管部门批准,可以在互联网上进行药品交易的单位共有69家,其中38家可向个人售药,现如今全球的发展趋势来看,医药电子商务必将成为未来的大势所趋。

2.相关技术介绍

2.1 系统设计采用的核心技术

该系统采用目前最流行的SSH框架进行设计。Java的开源框架非常多,SSH便是由这众多的框架集合而成的。SSH 在Java EE项目中表示了3种框架,即 Spring + Struts +Hibernate。Struts是一个优秀的MVC框架,对Model,View和Controller都提供了对应的组件。Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,是为了解决企业应用开发的复杂性而创建的。Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了轻量级的对象封装,可以应用在任何使用JDBC的场合,可以在Servlet/JSP的Web应用中使用。

本网站主要采用Struts2+Spring+Hibernate框架技术。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 Java EE 应用程序开发提供集成的框架。,以下对它们做一个简单的介绍:

(1)Struts2框架技术

Struts 是一款优秀的MVC框架,但随着时间的流逝,技术的进步,Struts1的局限性也越来越多地暴露出来。而Struts 2是Struts的下一代产品。是在 Struts 和WebWork的技术基础上进行了合并,全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为WebWork的更新产品。因为Struts 2和Struts 1有着太大的变化,但是相对于WebWork,Struts 2只有很小的变化。

(2)Spring框架技术

Spring是一个开源框架,是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。

(3)Hibernate框架技术

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的Java EE架构中取代CMP,完成数据持久化的重任。2.1 系统开发环境

(1)Eclipse Eclipse 是一种基于 Java 的可扩展开源开发平台。就其自身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括为人熟知的 Java 开发工具。

虽然大多数用户很乐于将 Eclipse 当作 Java 集成开发环境(IDE)来使用,但 Eclipse 的目标却不仅限于此。Eclipse 还包括插件开发环境,这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。

(2)MySQL MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵活性。MySQL的SQL“结构化查询语言”。SQL是用于访问数据库的最常用标准化语言。MySQL软件采用了GPL(GNU通用公共许可证)。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

因此本系统选用MySQL 5.5进行开发。(3)Tomcat Tomcat是Apache 软件基金会的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成,是一个免费的、开放源码的、支持JSP和Servlet技术的容器。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。Tomcat6.0也很受广大程序员喜爱。

目前最新版本是6.0,本系统将使用该版本。

3.可行性研究与需求分析

3.1可行性分析 3.1.1经济可行性

现代网络高速发展,影响着人类生活的方方面面。电子商务也应运而生,蓬勃发展。足不出户就能获取方便快捷的购物途径、享受超值的购物乐趣和优质的在线服务;商家也可以无需真实的店铺,不但降低投入、节省资金和摈弃传统贸易的落后方式,更重要的能通过电子商务平台扩展商机、捕获机遇,赢得更大利益。互联网用户的庞大规模是电子商务市场欣欣向荣的重要推动力。

利用电子商务和信息化从事网络贸易的企业和个人,正成为社会经济领域的主体,在国民经济中发挥着重要的作用,随着这类群体的不断扩大,传统的商业规则和商业秩序受到冲击,重新解构,新的基于互联网的电子商务经济体系正在构建。政府的指引、主导和监督、相关法律法规的制定和实施、电子商务行业行规制度的完善等都是促进我国电子商务良好发展的重要因素.3.1.2技术可行性

本系统采用轻量级的Java EE架构而成,由Struts、Hibernate、Spring三大框架整合的集成框架。框架一般具有即插即用的可重用性,成熟的稳定性和高度集成易用性。Java EE 复杂的多层结构决定了日益复杂的Java EE 项目需要运用框架和设计模式控制软件的质量,SSH框架是目前Java EE Web 项目开发的主流框架,具有良好的团队可协作性,被广泛的应用于多个软件系统中,所以框架的稳定性很好,技术上具有很强的可行性.3.1.2操作可行性

目前SSH 框架流行与各大网站项目建设,比如淘宝,京东,凡客等大型网上购物网站,其中一部分项目就是综合运用SSH技术。

网上购物主要是资金流,商流,物流的结合,资金流的应用目前广泛体现在网银的使用,如支付宝等第三方安全支付软件,商流就是各大购物网站及B2B;B2C,C2C 市场的广大商家和买家。物流体系的配套设施也在逐步完善和提高,因此从资源,市场,顾客这些市场和经济方面以及开发环境技术方面,电子商务网站,也就是网上商城是完全可以趁工操作的。3.1.3系统功能需求描述

本系统分为前后台两部分,前台主要包括已登录用户和未登录用户,任何用户都可以进行商品的浏览,当已注册用户登录后,即刻进行商品的购买,查看自己的购物车以及添加、删除、修改自己购物车中的商品,确认后即生成订单。未登录用户如已注册即可直接登录,未注册则可进行注册用户操作。后台管理员登录进入管理员中心,可进行商品管理,商品一二级分类管理,订单管理和用户管理.系统用例图如3-1所示

图3-1 系统用例图

4.数据库设计

4.1 数据分析

1)对于本系统的数据库的需求而言,由于主要是用于信息的提供、保存、更新和查询等;因此,需要分析该系统功能所隐含的对数据应用的需求,从而确定数据库的结构。

2)用户注册、登录、验证等功能需要对用户信息建立数据表,其中的数据项包括用户id,用户名,密码,收货人,邮箱,手机号码,收货地址,激活状态,激活码.3)查看商品分类信息和商品详细信息等功能既需要对商品一二级分类进行管理,也需要针对每一个商品进行管理,由于此系统商品属性有两层分类,于是此处我们至少需要三张数据表.4)用户购物后产生的订单需要进行管理,包括订单的基本信息和详细信息等;因此需要一张购物车的数据表。

5)订单生成后,在订单处理的过程中,用户需要付款,确认收货等,修改订单的状态,所以需要记录订单的状态,包括订单包含的商品,收货人,收货地址以及订单的状态。

6)后台系统管理员需要对该系统进行管理,所以需要建立管理员信息数据表,其中的数据包括管理员ID、管理员用户名、密码。

综上所述,至少要创建如下的数据结构和数据项

用户信息表,包括用户ID,用户名,密码,收货人,邮箱,手机号码,收货地址,激活状态,激活码。

管理员信息表,包括管理员ID,管理员用户名,密码。商品一级分类信息表,包括一级分类ID,一级分类名

商品二级分类信息表,包括二级分类ID,二级分类名,所属一级分类 商品信息表,包括商品ID,商品名,商品市场价,商品商城价,商品图片地址,商品描述,商品是否热门,商品上传时间,商品所属二级分类ID。

购物车信息表,购物车ID,购买商品数量,购买商品总价,购买商品的ID,购物车所属的订单表 订单信息表,订单ID,订单总价,订单生成时间,订单状态,订单收货人名,收货人联系方式,收货人地址,收货人用户ID 4.2 数据库表设计 4.2.1 数据库 E-R 图

图 4.1 数据库 E-R 图

4.2.2 数据库表

本系统的数据库命名为shop,分为八张数据库表。a.用户表,如图4.2.1所示

图 4.2.1 用户表

b.一级分类表,如图4.2.2所示

图 4.2.2 一级分类表

c.二级分类表,如图4.2.3所示

图 4.2.3 二级分类表 d.商品表,如图4.2.4所示

图 4.2.4 商品表

e.购物车表,如图4.2.5所示

图 4.2.5 购物车表

f.订单表,如图4.2.6所示

图 4.2.6 订单表 g.管理员表,如图4.2.7所示

图 4.2.7 管理员表

5.详细设计与实现

5.1系统前台基本功能的设计与实现 5.1.1注册 5.1.1.1实现效果

用户单击注册后需要输入用户名、密码、确认密码,E-mail以及姓名,电话,地址,其中用户名,密码,确认密码和E-mail为必填项,姓名,电话以及地址将作为用户的收货人姓名以及联系电话和收货地址。当填写的用户名在数据库中已存在时,当光标从用户名栏离开,将提示用户名已存在,否则则提示用户名可使用;信息填写完整以及正确后提交会根据所填写的邮箱向用户邮箱发送一封包含注册激活码的邮件,用户需打开该邮件中的网址进行激活,成功激活后的用户将可以进行登录操作。界面设计如图5.1.1.1所示

图 5.1.1注册界面

5.1.1.2 实现过程 a.异步校验代码 如图5.1.1.2.1所示

图5.1.2 当用户名存在时,如图5.1.3所示

图5.1.3 当用户名不存在时,如图5.1.4所示

图 5.1.4 b.注册功能实现代码 注册所属页面:regist.jsp 信息填写后提交到user_regist.action userAction中设置模型驱动接收JSP中传过来的数据,代码如下:

Action中实现regist方法,代码如下:

Service中实现save方法,代码如下:

其中有一工具类UUIDtils、MailUitls用于向用户邮箱发送激活邮件,工具类代码如下: MailUitls.java:

UUIDUtils.java:

DAO层中再实现save方法,代码如下:

在Struts.xml中配置返回值信息,msg返回值为全局变量页面,用于信息的通知,配置以及页面代码如下:

Msg.jsp页面:

界面效果如5.1.4所示

图 5.1.4 c.邮箱激活

收取到的邮件如图5.1.5所示

图 5.1.5

Action中active方法的实现,代码如下:

Service层中findByCode方法的实现,代码如下:

激活成功后界面如图5.1.6所示

图 5.1.6

5.1.2登录 5.1.2.1 实现效果

已注册的用户且激活后的用户输入注册的用户名和密码,以及填写正确的验证码后提交,若用户名存在且密码正确,则登录成功,若用户名不存在或密码不正确则提示用户名不存在或密码不正确,若验证码输入错误则提示验证码错误重新输入。

登录界面如图5.1.7所示

图5.1.7

5.1.2.2 实现过程

登录页面:login.jsp,代码如下:

用户信息提交到user_login.action中,代码如下:

验证码类CheckImaAction.java的代码如下:

Dao层中login方法的实现,代码如下:

登录成功后界面如图5.1.8所示

图5.1.8

验证码输入错误界面如图5.1.9所示

图5.1.9

用户名输入错误或密码输入错误或用户未激活提示界面,如图5.1.10所示

5.1.3商品展示模块

图5.1.10 5.1.3.1 实现效果

用户通过点击一级分类显示所有一级分类下的商品,如图5.1.11所示;点击二级分类显示所有二级分类下的商品,如图5.1.12所示;点击商品则进入商品详细页,如图5.1.13所示。

图 5.1.11

图5.1.12

图5.1.13 5.1.3.2实现过程 a.点击一级分类显示商品

商品显示页为productList.jsp,代码如下:

中findByCid的实现,代码如下:

Service层中findByCid方法的实现,代码如下:

Dao层中findByCid方法的实现,代码如下: b.点击二级分类显示商品

Action中findByCsid方法的实现

Service中findByPageCsid方法的实现

Dao层中findByCsid方法的实现

c.点击商品显示商品详情页 Action中findByPid方法的实现

Service中findByPid方法的实现

Dao中findByPid、findCount、findByPage方法的实现

购物车模块 5.1.4.1 实现效果

用户添加商品到购物车,根据购物车的商品数量单价等计算出单价和小计,提交后生成订单。5.1.4.2 实现过程

购物车页面为orderlist.jsp,页面代码如下:

orderAction中的实现代码:

orderService中的实现代码:

orderDao中的实现代码:

界面效果如图 5.1.13 所示

图5.1.13 5.1.5 关键字搜索 关键字页面代码如下:

Action中findByPname方法的实现

Service中findByPname方法的实现

Dao层中findCountPname、findByPagePname方法的实现

界面效果如图所示5.1.14所示

图 5.1.14 5.1.6 在线客服 5.1.6.1 实现效果

用户点击后会添加客服QQ通过QQ在线联系网站客服.5.1.6.2 实现过程

在线客服页面代码,如图5.1.15所示

界面效果如图5.1.16所示:

图 5.1.16

5.2系统后台管理功能设计与实现 5.2.1 商品信息管理模块 5.2.1.1 实现效果

管理员可以查看,修改,删除商品一级分类、二级分类一级商品信息,界面设计如图5.2所示

图5.2.1 5.2.1.2 实现过程 a.一级分类

一级分类管理页面为edit.jsp、add.jsp、list.jsp,如图5.2.2所示

(a)list.jsp页面

(b)Add.jsp页面

(c)Edit.jsp页面

图5.2.2 页面代码如下:

基于struts的网上书店 篇6

任 务 书

设计(论文)名称:基于B/S模式的网上招聘求职系统设计与实现 系(部):计算机与信息工程学院专业:网络工程学生姓名:指导教师:下达时间: 2011

一、设计(论文)的背景和依据

随着现代化的科学技术的发展,人类社会已经进入网络时代,信息化的技术进入了人类生活,并应用到了各个领域。利用现代化的网络技术管理人才求职、企业招聘的信息,使得此管理制度变得规范化、制度化、数字化。无论是对于个人求职、企业招聘都减少了人力、物力和财力。

B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,主要事务逻辑在服务器端实现。B/S模式提供了一致的用户界面,具有很强的开放性,外部的用户亦可通过通用的浏览器进行访问。模型-视图-控制器(Model-View-Controller, MVC)是目前Java EE中比较流行的一种设计模式,MVC模式的出现不仅实现了功能模块和显示模块的分离,同时它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性。Struts是一个典型的使用了MVC模式的Web应用框架。Struts框架的体系结构实现了MVC设计模式的概念,并将这些概念映射到Web应用程序的组件和概念中。本系统利用Struts框架技术开发基于B/S模式的网上求职招聘系统,通过开发的网络平台,为个人和企业提供方便快捷的信息渠道。

二、设计(论文)的任务和基本要求

设计一个基于B/S模式的网上求职招聘系统,主要内容如下:

1.调研分析网上求职招聘网站的功能需求,学习Java的MVC模式及Struts框架技术,根据课题需要设计相关功能模块。

2.编程实现求职招聘系统各个模块。

⑴ 登录、注册模块。包括个人和企业两个登录和注册权限。⑵ 个人注册登录后实现以下功能模块。填写个人简历模块:录入个人基本信息,教育信息,上传照片,求职意向等;查看和编辑个人简历信息模块;账户管理模块:个人密码修改。⑶ 企业注册并登录后实现以下功能模块。企业信息管理模块:录入企业基本信息;职位管理模块:发布职位信息;应聘简历管理:查看应聘到本公司的电子简历,搜索符合职位的简历;账户管理模块:密码修改。⑷ 网站首页显示个人或企业发布的信息,网站首页设置搜索功能。

3.根据规范写出设计说明书,根据学校要求写出设计报告(毕业论文)。

三、基本要求

1.熟悉Java编程语言、MVC模式及Struts框架技术。

2.有一定的自主学习能力,有掌握新技术的追求。

3.学习认真,态度积极。

四、设计(论文)的进程安排

1.2011.7.1-2011.7.30查阅相关资料,并对课题进行调研分析。

2.2011.8.1-2011.8.30在对课题充分调研的基础上,对技术可行性进行评估,并准备做好开题工作。

3.2011.9.1-2011.9.30根据课题的要求,实现并调试系统的各功能模块并做好

实验日志。

4.2011.10.1-2011.11.30根据学院毕业设计(论文)规范,撰写毕业设计并提交

指导教师审阅,参加由指导教师组织安排的预答辩,根

据指导老师的修改意见进行修改并做进一步完善

5.2011.12根据毕业设计内容及原型系统拟订答辩提纲,参加答辩。

五、教研室审核意见

教研室主任年月日

六、系(部)意见

签章年月日

基于struts的网上书店 篇7

关键词:Struts,MVC,商品房网上备案系统,合同

0 引 言

随着网络的日益普及和全球信息化进程的发展,Internet技术及其应用,以及电子商务的发展,给工作和日常生活等各个方面带来了深刻的影响[1]。电子政务的出现更对传统的办公方式和政务处理提供了新的思路,为实现简化审批手续和提高办事效率提供了强有力的技术支撑。房地产管理也越来越借助于计算机信息管理这一技术手段。

传统的商品房销售合同备案登记管理以手工为主,不仅效率低,易出错,而且由于信息不畅,存在一房多售,重复抵押等现象,也给房产交易市场造成混乱。为提高商品房交易信息的透明度,规范销售行为,有效避免因抵押、查封、未进行初始登记、无预售许可证造成错件,也为准确掌握房地产市场的动态,及时进行宏观调控,方便房地产登记,便于百姓购房,而且也是在建设部的要求下,急迫需求进行商品房销售合同网上备份。商品房网上备案系统正是顺应信息化、标准化管理趋势,杜绝违规现象,进一步加强房地产交易市场管理而推出的面向市级房地产管理部门的信息管理系统。

在此将以一个商品房销售合同网上备份系统为例,针对商品房网上备案系统的特点,采用MVC(model view control)模式的Struts框架来设计系统结构,并利用J2EE的技术来实现系统。

1 MVC和Struts设计模式概述

在进行web应用开发时,系统较多地使用Struts框架,使其在开发管理信息系统中得到了广泛应用[2]。Struts是Apache软件组织负责开发的一个开源项目,是MVC设计模式/Model2架构的一个实现,它将应用分为模型、视图和控制器3部分。Struts提供了自己的控制器组件,在视图组件上主要使用JSP技术,也可以和其他表示层框架结合;在模型组件上,不但可以使用一些标准的数据访问方式,也可以和一些第三方软件结合[3]。

1.1 MVC 设计模式概述

MVC设计模式把应用程序的输入、处理、输出按照模型(model)、视图(view)、控制器(controller)的方式分成三层,每层中的含义及三层之间的相互关系如图1所示[4]。

1.1.1 视图

视图中能够显示相关状态及数据,而且能够根据要求接收用户的输入数据,并能把数据传送给控制器。随着新技术的不断出现,视图的组成元素也在随之多样化, 如XHTML,XML/XSL,WML 等一些标志语言。

1.1.2 模型

模型表示业务数据和逻辑。它是应用程序的主体部分。模型对业务流程的对象进行抽象,因此一个模型能为多个视图提供数据,在很大程度上提高了应用的可重用性。

1.1.3 控制器

控制器联系着模型和视图,在它们之间起着协调、沟通的作用。它处理用户在视图上的输入,调用模型响应用户的请求,同时选择相应的视图显示及响应处理后结果。降低了模型和视图之间的耦合度,有时模型和视图甚至可以彼此都不知道对方,只由控制器把它们连接起来。

1.2 Struts 框架的工作原理

在Web应用系统设计中,为提高程序的重用性和可维护性,越来越多的开发人员采用MVC设计模式用于分离系统的用户界面、业务逻辑和业务控制。Struts 框架为MVC 设计模式提供了具体实现的方法[5]。Struts能够较好地将面向对象的设计和用户接口分离,方便代码的修改[6]。此外,Struts 框架提供了许多可供扩展和定制的地方,使得应用程序可以方便地扩展框架,更好地适应用户的实际需求。

Struts实质上就是在JSP Model2的基础上实现的一个MVC框架[7]。在Struts框架中,模型由实现业务逻辑的JavaBean或EJB组件构成,控制器由ActionServlet和Action来实现,视图则由一组JSP文件构成[8]。

1.2.1 控制器(controller)

控制器应具备接受客户端的请求,能选择相应的业务逻辑并进行执行,同时能把响应结果送回客户端[9]。在Struts中,基本的控制器组件是ActionServlet类中的实例Servlet,而实际使用的Servlet在配置文件中则由一组映射(由ActionMapping类进行描述)进行定义,每个ActionMapping对象实现了一个请求到一个具体的model部分的Action处理器对象之间的映射,同时指定下一个将要转发的所有可能视图的路径。

1.2.2 模型(model)

从概念上分类,MVC设计模式中Model部分可以分成两类:系统的内部状态和可以改变状态的操作(事务逻辑)[10]。

内部状态可由一组ActionForm JavaBean 表示。内部状态可以通过定义属性描述客户端表单数据,通过ActionForm 组件实现view和model 之间的交互支持。根据设计或应用程序复杂度的不同,这些Bean 可以是自包含的并具有持续的状态,或只在需要时从某个数据库才获得数据。大型应用程序通常在方法内部封装事务逻辑,这些方法能够被拥有状态信息的bean 调用。小型应用程序中,事务逻辑可能会被内嵌在Action 类。

Struts框架下通常建议使用一组JavaBean 表示系统的内部状态,根据系统的复杂度也可以使用像Entity EJB 和Session EJB 等组件来实现系统状态。

1.2.3 视图(view)

Struts应用中的view部分是由JSP建立的。Struts提供了自定义的标记库,通过这些自定义标记可以非常好地和系统的Model部分交互,由此创建的JSP表单,可以实现和Model部分中的ActionForm的映射,完成对用户数据的封装, 同时这些自定义标记还提供了像模板定制等多种显示功能。Struts应用框架的处理流程清楚地体现了MVC系统的特点。ControllerActionServlet处理客户请求,利用配置的ActionMapping对象把请求映射到Action处理器对象进行处理。Action处理对象访问ActionForm中的数据,处理和响应客户请求,它还调用后台的Bean组件,这些组件封装了具体的业务逻辑。Action 处理器对象根据处理结果通知Controller,由Controller进行下一步的处理。

1.2.4 Struts的配置文件

一个用户的请求通过ActionServlet来处理和转发。ActionServlet通过得到描述用户请求路径和Action映射的配置信息来决定如何转发。在Struts中,这些配置信息存在特定的XML文件中struts–config.xml[11]。

2 商品房网上备案系统分析与设计

2.1 系统概述

合同网上备案是指房地产开发企业在取得商品房预售许可证或房地产权属证明后进行预售或销售房屋签定合同时,在网上进行合同确认和打印的行为。房产管理部门将定期汇总、分析和发布全市的新建商品房的交易信息,并提供网上公开查询服务。对于违反规定或者不信守承诺的房地产开发企业及其委托的代理销售经纪企业,房产管理部门将建立开发、销售企业的信用档案,将其网上公示。

2.2 系统功能模块划分

商品房网上备案系统的从大的方向上来划分,可以划分为3大模块,即房地产开发商模块、合同管理模块以及系统管理模块:

2.2.1 开发商管理模块

开发商管理模块又可细分为图2所示的子模块。

2.2.2 合同管理模块

合同管理是网上备案系统的一个重要部分,包括楼盘表明细显示、预约合同管理、新建合同、已保存合同管理,备案合同、合同模板管理等。

2.3 系统用例设计

用例是系统提供的功能块。换句话说,用例演示了人们如何使用系统。通过用例观察系统,能够将系统实现与系统目标分开,有助于了解最重要的部分——满足用户的要求和期望。通过用例,客户可以看到系统提供的功能。系统的顶层用例模型如图3所示。

3 系统具体实现

本着业务逻辑和表现逻辑分离,对系统资源进行合理有效管理、优化系统性能的指导思想,系统框架主要分为以下几部分:

(1) 总控模块。用户请求由总控模块进行统一管理。总控模块作为用户请求总的入口,接收用户请求,调用业务逻辑处理。

(2) 业务逻辑处理。业务处理模块是用户请求的具体功能实现。

(3) 表示逻辑处理。业务逻辑处理结束后,表示逻辑(JSP、XML、HTML等)从业务逻辑处理中提取处理结果进行显示。

(4) 数据访问。数据库服务模块必须对数据库资源的访问进行有效的管理。

考虑到系统的扩展性,数据库服务定义的访问接口JDBC,可自行扩展数据源和数据库的访问方式。

该系统采用浏览器/服务器模型(Browser/Server)。一般的客户通过浏览器发送HTTP请求给Web服务器端,Web服务器接受该请求并且进行相应处理,然后将处理后的结果返回到客户的浏览器中。在客户端,浏览器中呈现的正是该系统的视图部分。

系统结合使用JSP与Servlet,由JSP把用户提出的http请求送给Servlet, Servlet根据请求的类型不同分别进行不同的处理,选择不同的操作模块,如对数据库的读写、更新、查询、操作等,Servlet处理完这些比较复杂的请求之后,选定JSP页面把最后的结果返回给使用者,此时的JSP只是起到了View的作用,并不做逻辑运算,只是将Controller方面传过来的资料展示给用户而己。

3.1 基于Struts框架的表示层

在基于B/S结构的多层应用中,表示层负责接受客户端发送来的请求,再将请求转发给业务层处理,并将业务层处理结果发回到客户端。表示层的功能包括控制转发请求和产生新的Web页面,以显示业务层的处理结果。表示层的功能实际上实现了MVC模式中视图层和控制器层的功能,因而在应用MVC模式的应用系统中,表示层被划分为视图和控制器2个部分。

本系统使用Struts框架来实现表示层的开发。Struts框架是一个实现了MVC模式的表示层开发框架,它主要实现的是控制器和视图部分,模型层的实现还需要整合其他的一些技术。

在表示层,控制器的功能由ActionServlet和Action来完成,ActionServlet接受来自客户端的请求,每个ActionMapping实现一个请求到一个具体的Action之间的映射。视图由JSP页面结合Taglib来实现。Action对象调用业务逻辑模块的接口,并把响应提交到合适的View组件,ActionForm组件对象实现对客户端表单数据的良好封装,实现视图和模型之间的相互支持。表示层流程图如图4所示。

Struts的运作流程大致如下:

(1) 用户发出一个以.do作为扩展名的HTTP请求;

(2) 控制器ActionServlet获得所有的.do请求;

(3) ActionServlet根据XML文件struts-config.xml中的配置信息,把获得的请求映射到相应的Action类中;

(4) ActionServlet在执行步骤(3)的同时,将用户请求封装在一个指定名称的FormBean中;

(5) 控制器ActionServlet调用由步骤(3)确定的Action类实例中的execute();执行模型中的对应业务逻辑;

(6) execute方法在被执行后返回一个ActionForward对象;

(7) 控制器ActionServlet根据返回的ActionForward对象,将控制转发到相应的JSP页面进行下一步处理。

3.2 系统逻辑层实现

作为整个系统核心部分的业务逻辑组件,在此针对每个业务封装相应的组件。在本系统中,封装了开发商管理、合同管理、代理商销售管理、用户登录组件、用户注册组件等。

限于篇幅,本文以用户登录为例,说明实际应用中的情况。

用户在访问系统之前首先要进行登录,以便对用户身份进行验证。登录模块主要具备以下功能:提供用户登录界面,并且能够对用户输入数据进行简单的格式控制和数据验证,根据输入的用户名和密码判断用户是否存在,以及密码的正确性。如果验证通过,则根据用户的角色类别调用不同的视图创建相应的登录成功界面返回用户的浏览器。为了实现以上功能,应用Struts框架的登录模块的整体流程如图5所示。

从图5中可以看出,在用户登录模块的设计中实现了MVC模式,使得视图与数据分离。登录页面、修改密码页面以及登录成功页面构成视图层;用户登录及修改密码的请求应答控制由控制器ActionServlet实现;具体的用户合法性判断和数据存储则由模型层中的业务逻辑类来实现;LoginForm传递视图中的数据到LoginAction,LoginAction接收LoginForm中的数据以及一些请求中的参数,并调用业务层的业务实现类,完成具体的处理请求和产生响应的任务。LoginAction实现了控制器和模型之间的连接。Chaxundb类是封装了数据库操作的数据访问类,涉及数据库访问的操作都要调用这个类。

具体实现用户登录模块的主要文件包括:Login.jsp, Logins.jsp ,LoginAction类、LoginForm类、LoginControl类。Login.jsp和Logins.jsp分别指登录页面和登录成功页面,如果登录失败则转向Login.jsp页面重新登录。LoginAction类是Struts框架中Action组件的实现,实现对登录请求的控制和转发。LoginForm类是一个form bean,用于传递登录页面表单中的数据。LoginControl类是实现登录信息验证的一个业务逻辑类。

由于在表示层应用了Struts框架,所以实现用户登录的功能还必须进行相关的Struts配置。在Struts-config.xml文件中的相关配置如下:

<action path="/Login" type="com.fangchan.Login.LoginAction"

name="LoginForm" scope="request" input="/Login.jsp">

<forward name--"Login" path="/Login jsp"/>

<forward name="forward" path="/public/Logins.jsp"/>

上述配置代码标明,当客户端发送一个Login.do的请求时,Struts控制器ActionServlet就会在容器中产生一个LoginAction实例进行请求处理和控制转发。此处,它还标明了两个ActionForward,分别指向Login.jsp和Logins.jsp。

用户登录实现的完整流程如下:

(1) 客户发送登录请求Login.do及登录信息到控制器ActionServlet;

(2) ActionServlet查询路径的映射,映射标明Login.do对应的form bean是LoginForm,再查看是否已经存在一个LoginForm实例,如果没有,则创建一个新的实例;

(3) 根据HTTP请求组装LoginForm,并调用validate方法对登录信息进行有效性检查;

(4) 路径映射mapping标明Login.do对应的Action为LoginAction,在容器中创建LoginAction实例,如果它己经存在或己经实例化,则重用该实例;

(5) LoginAction的execute方法被调用,并传递一个实例化的LoginForm;

(6) LoginAction调用业务对象LoginControl,对登录信息进行检查核实;

(7) LoginContral调用Chaxundb进行数据查询操作;

(8) LoginAction返回一个ActionForward给控制器ActionServlet,若登录成功,则ActionForward指向Logins.jsp,进入操作界面;若登录不成功,则ActionForward指向Login.jsp,重新登录;

(9) 控制器ActionServlet根据ActionForward指向的页面,返回新的视图到客户端。

4 系统界面示例

用系统运行的界面说明系统实现后的效果,如图6楼盘管理的主界面。

5 结 语

本文对商品房网上备案系统详细进行系统分析,然后基于Struts架构进行系统设计,构建三层体系结构,即模型-视图-控制器(model view controller,MVC),实现商品房网上备案系统的B/S架构。基于本文的分析设计与实现的系统是一个功能完善、强大的商品房网上备案系统,为我国的房地产市场贡献了一份力量。

参考文献

[1]房质文.政府机关办公自动化[J].吉林大学社会科学学报,1996(3):92-94.

[2]周志刚,徐芳,肖晓华,等.应用Struts框架开发管理信息系统的研究[J].河南理工大学学报,2006,25(5):415-419.

[3]叶娜.Struts框架的扩展与改进[J].计算机技术与发展,2007,17(12):16-19.

[4]孙宏彬,苏长龄.基于J2EE三层结构分布系统设计与实现[J].齐齐哈尔大学学报,2002,18(4):61-64.

[5]游强华,袁道华,朱国云,等.基于Struts框架的Web系统的角色权限验证[J].计算机技术与发展,2006,16(12):227-229.

[6]孙卫琴.精通Struts:基于MVC的Java Web设计与开发[M].北京:电子工业出版社,2004.

[7]黄锋,吴华瑞,赵春江.基于Struts框架构建小城镇电子政务系统[J].微计算机信息,2006(12):186-188.

[8]夏堃.Struts框架技术在J2EE中的应用[J].科技信息:学术版,2006(5):152-153.

[9]周杰.对Struts应用开发框架的研究和改进[J].计算机工程,2004,30(Z):144-145.

[10]谷毅,王爽心,刘鑫.利用Struts开发Web应用程序在工业自动化中的实现[J].微计算机信息,2004,20(4):86-88.

[11]黄烟波,张红宇,李建华.基于Struts和Hibernate的J2EE架构[J].计算机时代,2004,10(10):29-30.

基于struts的网上书店 篇8

关键词:Struts;Hibernate;MVC;ORM

1 引言

基于网络的教学答疑系统可以使学生与教师之间的沟通更加及时、深入,从而增加学生学习兴趣并提高学习质量。本系统基于Struts与Hibernate的J2EE框架,Struts实现MVC架构,Hibernate完成J2EE中的对象持久层。

2 基于MVC的Struts实现机制

MVC是Model-View-Controller的简称,即模型-视图-控制器。MVC是一种设计模式,它把应用程序分成三个核心模块:模型、视图和控制器。Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。Struts实质上就是在JSP Model2的基础上实现的一个MVC框架。在Struts框架中,模型由实现业务逻辑的JavaBean或EJB组件构成,控制器由ActionServlet和Action来实现,视图由一组JSP文件构成。图1显示了Struts实现的MVC框架[1]。

Struts工作流程:首先由客户端浏览器向Web服务器发出HTTP请求,JSP容器中控制器ActionServlet根据配置文件struts-config.xml决定将请求交给相应的Action来处理。Action实现业务逻辑的处理,实现模型中业务数据的更新及程序的流程控制。当Action处理结束后,控制器根据Action返回结果调用相应的JSP文件,并将执行结果返回给客户端浏览器。

3 数据持久化与Hibernate实现机制

在J2EE应用中编程操作采用的是面向对象模型,而后台数据库通常是关系模型,为解决关系型数据库与对象型编程语言之间的不一致提出了数据持久化。数据持久化完成了O/R Mapping(Object/Relation Mapping,ORM,对象关系映射),从而实现了对象与关系数据库之间的映射。Hibernate是一个开源的ORM框架,它提供了强大的对象和关系数据库映射与查询功能,并大幅度减少开发过程中使用SQL与JDBC处理数据的时间。Hibernate实现机制如图2所示[2]。

Hibernate是Java应用系统和关系数据库之间的ORM中间件,它完成Java对象和关系数据之间的映射。Hibernate内部封装了通过JDBC访问数据库的操作,向上层应用系统提供了面向对象的数据访问API[3]。Hibernate的配置文件hibernate.properties包含了数据库连接的有关信息,XML Mapping文件包含了对象和关系数据库之间的映射。

4 教学答疑系统的设计与实现

教学答疑系统实现了教师与学生之间基于网络的信息交流与沟通。系统的用户主要有三种:学生、教师和系统管理员,学生和教师要先注册才能使用本系统。系统主要由5个模块构成:

(1)注册模块:学生和教师可以以不同的角色进行注册。

(2)登录模块:学生和教师以注册的角色进行登录。

(3)问题提交模块:学生登录后可以提出问题,并可以选择相应的任课教师回答。

(4)问题回答模块:教师登录后对没有回答的问题进行回答。

(5)管理模块:管理员登录后可以对问题和答案进行管理。

教学答疑系统使用Struts框架进行设计与实现,显示层使用JSP页面实现,控制层由ActionServlet和Action实现,模型层的业务数据由Hibernate框架实现数据的持久化。

4.1 Struts框架的实现

在基于Struts框架的系统中控制器ActionServlet根据Struts的配置文件struts-config.xml来实现客户端数据的输入、处理及输出的映射。运行用户注册页面register.jsp,用户将表单中的注册信息提交给控制器后,控制器根据上面配置文件创建一个JavaBean文件RegisterForm.java,即MVC中的业务模型。对业务模型的处理则由RegisterAction.java来完成,当注册成功后调用login.jsp页面进行登录,失败则调用register.jsp重新注册。

在RegisterAction.java文件中,方法public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response)接收用户表单中的信息,并根据信息创建业务模型对象RegisterForm,从而实现对业务数据的访问,还可以根据业务数据的信息决定程序执行的流程。

4.2 Hibernate框架的实现

Hibernate的配置文件hibernate.cfg.xml中设置了数据库的连接信息:数据库的驱动程序、用户名和密码。UserInf.hbm.xml是对象/关系映射文件,实现了UserInf.java对象文件与数据库表userinf的映射。

对数据库的操作如查询、修改、删除和增加等操作则封装在UserInfManager.java文件中:

该方法在实现时首先创建Session对象,Session s=Sessionfactory.getSession(); 然后执行各种数据库操作,执行完毕后将Session对象关闭。

5 结语

基于Struts与Hibernate教学答疑系统实现了教师与学生之间信息交流的即时性,提高了学生的学习质量与学习兴趣;同时基于Struts与Hibernate框架的设计与实现提高了系统的开发效率,增强了系统的可维护性,并提供系统更好的性能。

参考文献

[1]孙卫琴.精通Struts:基于MVC的Java Web设计与开发[M].北京:电子工业出版社,2005:13-14.

[2]石志国.JSP网络开发详解[M].北京:电子工业出版社,2007:291-294.

[3]孙卫琴.精通Hibernate:Java对象持久化技术详解[M].北京:电子工业出版社,2005.

——————————

上一篇:生日祝福短信女性下一篇:附1-实验报告书写要求