ssh框架下基于jsp网上商城系统的设计与实现.doc
【精品文档】如有侵权,请联系网站删除,仅供学习与交流ssh框架下基于jsp网上商城系统的设计与实现.精品文档.2013届学生毕业设计材料(四)学 生 毕 业 设 计课题名称SSH框架下基于JSP网上商城系统的设计与实现姓 名学 号学 院通信与电子工程学院专 业电子信息工程指导教师 教授年月日湖南城市学院毕业设计论文本科毕业设计诚信声明本人郑重声明:所呈交的本科毕业设计,是本人在指导老师的指导下,独立进行,设计成果和制作的产品实物不存在知识产权争议。对的研究做出重要贡献的个人和集体均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 本科毕业设计作者签名: 年月日目 录1 引言51.1 开发背景51.2 开发现状51.3 开发意义52 系统分析52.1 系统需求分析52.1.1前台功能分析62.1.2后台功能分析62.2系统可行性分析72.2.1 技术可行性分析72.2.2 操作可行性分析72.2.3 经济可行性分析73 开发环境及相关技术83.1 SSH框架简介83.2 JSP技术简介83.3 数据库系统简介93.4 服务器系统简介93.5 CSS层103.6 平台选择104 系统设计与实现104.1系统总体结构设计104.2系统流程114.2.1总体流程114.2.2系统前台流程124.2.3系统后台流程134.3 系统功能模块实现134.3.1前台模块的功能模块设计134.3.2后台管理模块的功能模块设计224.4 数据库表设计284.4.1 E-R图294.4.2基本表设计315 系统测试345.1 测试方法345.1.1 测试目的345.1.2 测试原理345.1.3 测试步骤355.2 测试结果355.2.1 前台测试结果355.2.2后台测试结果426 结 论46参考文献46致 谢47附录:源程序清单47SSH框架下基于JSP网上商城系统的设计与实现摘 要:信息技术的不断更新为电子商务的发展提供了更为广阔的平台。设计开发网上商城对电子商务的发展具有重要意义。为精简代码,便于维护,通过采用SSH框架整合和oracle数据库保存数据,基于JSP技术设计了网上商城购物系统。系统设计分为前台和后台两个部分,前台可实现用户注册,登录,寻回密码,查看商品,购物,留言等功能。后台可实现管理员对用户信息,商品信息,类别信息,留言信息,订单信息等进行管理。经测试,所设计系统实现了上述功能,并有利于系统的维护和二次开发,并具有画面唯美,购物方便等特点。关键词:电子商务;SSH;网上商城;JSPDesign and implementation of JSP online shopping system based on SSH frameworkAbstract:The continuous renewal of information technology to the development of e-commerce provides a wider platform. Design and develop online mall is of great significance to the development of electronic commerce. To simplify the code, easy to maintain, by using SSH framework integrating and oracle database to store data, based on JSP technology online shopping mall system is designed. System design is divided into foreground and background of two parts, front desk can realize the user register, login, recover password, check goods, shopping, leave a message, and other functions. The background which can realize the administrator to the user information, commodity information, the category information, message information, order information, etc. After the test, the designed system realize the function, and is advantageous to the system maintenance and secondary development, and has the picture only beautiful, convenient shopping, and other functions.Keywords: Electronic commerce; SSH; online book; database; JSP1 引言1.1 开发背景计算机网络的出现和快速发展给世界带来了翻天覆地的变化,从过去只面向专业部门的信息传送扩展到现代生活的各个角落,它为世界的发展和变革做出了无可估量的贡献。特别是在二十世纪九十年代,美国政府提出“信息高速公路”计划并付诸于实施以后,网络渐渐的从人们极少了解的领域来到了全世界平常人的生活中。因此,为了方便广大群众,满足商家的需求,需要专门构建网上商城系统。1.2 开发现状传统的网站开发一般采用的是ASP和PHP等脚本站点技术,将整个站点的业务逻辑和表现逻辑都混杂在ASP或PHP 页面里,从而导致页面的可读性相当差,可维护性非常低。即使需要简单改变页面的按钮,也不得不打开页面文件,冒着系统被破坏风险。1.3 开发意义从开发背景来看,网上购物系统具有以下几点重大意义:1)投资少,回收快。网上开店不许租门面,不许囤积货品,不用去办营业执照,投资者 不用为延长营业时间而增加额外费用。2)不收店面空间的限制。商家只需在网上列出自己的商品,而无需再实际的商城中摆放。3)不收地理位置的影响。不管客户离店有多远,在网上,客户一样可以很方便地找到并购买商品,这令消费群体突破了地域的限制。4)24小时营业。网上商店无需专人值班看点,都可照常营业。2 系统分析 2.1 系统需求分析 网上商城最大好处是要能给用户带来最大的便捷,这种便捷不仅体现在网络之外的物流、商品的折扣等,更要体现在进行网络操作时的易用性,能够模拟用户的购物行为,营造一种尽量真实、贴切的用户购物过程。本系统可分为前台和后台两大功能模块,前台使用户能够舒心购物,放心付款。后台使管理员能够方便快捷的对商城进行管理。2.1.1前台功能分析 前台功能主要是针对用户的操作,它主要的功能包括用户注册、登录,找回密码,查看商品,生成购物车,生成订单,在线留言等: 1 )用户注册:对于非会员用户,需要先注册才可登录。 2 )用户登录:对于会员用户,可通过注册时的用户名和密码登录。3 )找回密码:如果忘记密码,可通过用户名和注册时的邮箱找回。4 )查看商品:可通过不同类别查询,也可查看一个商品的详细信息。5 )生成购物车:用于暂时缓存用户选中的商品。 6 )生成订单:当用户确定选购商品时,需生成订单,完成交易。7 )在线留言:登录用户可在在线留言区域填写自己的意见。 2.1.2后台功能分析 对网站的管理者来说,商品的入库,用户信息的管理,商品信息的管理以及商品类别信息的管理是必不可少的,因此,本设计的后台功能包括商品管理,类别管理,系统管理,订单管理,留言管理等。 1)商品管理:需要将商品名、价格、商品描述等录入到数据库中,查看所有商品或者单个商品的基本信息,删除和修改某一个商品等。 2)类别管理:统计类别之间的比例,添加新类别等。3)订单管理:管理者应该可以每天清晰的查阅有多少订单生成,对于不需要的订单可删除,对于有变动的订单可修改。4)留言管理:对留言的管理,对不需要的留言可删除。5)系统管理:对于整个网上商城系统的管理,包括退出,对用户信息的查询,删除等。2.2系统可行性分析 2.2.1 技术可行性分析 JSP是Java在Internet/Intranet Web上的重要应用技术,可以和各种Java技术完好的结合在一起从而实现非常复杂的应用。因此得到了广泛的支持和承认,成为一种非常流行的网站开发技术。鉴于JSP技术的成熟与广泛的使用,加以指导老师的帮助可以得到很多的技术支持。Oracle数据库作为目前最主流的数据库已被大多数企业所采用,它安全性高,存储数据量大,并且检索方便。使用SSH框架整合后台控制层,使代码更加简介,大大提高设计效率。 2.2.2 操作可行性分析 因为计算机硬件的发展已经越来越快,现在PC机的性能已经可以胜任普通网站的web服务器。购买一台高性能PC机作为企业的网站对于这个营销商来说并不是问题。2.2.3 经济可行性分析 根据调查的资料,现在聘用一支团队设计并建设企业商务型网站的费用为7000元左右,另外每年交纳700元占用网站空间和网站维护费。为了使网站建成后能达到增加企业经济效益的效果,寻找一支创新与技术优秀的团队最多需要增加2000元的一次性投资。这样看来一个成功的网站建成后为这个营销商带来的效益将会远大于成本。但架设好一个网络中的服务器,以满足互联网中浏览者对速度的需求,这样每年服务器与网络线路和设备的维护费用将是企业不得不重点考虑的因素。如何做好经济可行性分析,需要通过仔细的调查与投资和行业方面的专业人士分析。3 开发环境及相关技术3.1 SSH框架简介集成SSH框架的系统从职责上分为四层:视图层、业务逻辑层、数据访问层和数据层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate.3.2 JSP技术简介本系统采用JSP技术开发。因为JSP与同类的CGI、ASP、PHP相比有着独特的优势。JSP是Sun属下Javasoft公司推出的技术,使用的Java语言是ASP、PHP和JSP三者中最新的技术。它以JavaServlet技术为基础,又在许多方面作了改进,并且充分借鉴了ASP和PHP一些合理的地方。它的平台无关性胜过ASP技术,而强大的JDBC数据库接口规范又优于PHP技术,而且JSP技术是以JAVA语言为基础的,可以使用JavaBeans组件和自定义标签,因此具有良好的扩展性。总的来说,JSP业已成为目前主流的动态网页开发技术之一。JSP的优点如下:1)借助JSP技术,Web网页设计人员可以使用HTML或者XML标记来设计和风格化Web页面,使用JSP标记来生成动态Web页面。在服务器端,JSP引擎负责解释JSP标记和脚本,生产请求的内容,然后将结果以HTML页面等形式发送回浏览器。这样开发者可以保护自己的核心代码,同时可以保证任何Web浏览器的高度兼容性。2)JSP页面可借助可重用的、跨平台的组件(JavaBean),来执行Web应用所要求的极为复杂的业务处理。能够共享和交换调用一般操作的组件,或者让这些组件被别的开发人员或者开发团队所使用。3)通过开发定制化的标签库等方法,JSP技术可以支持动态扩展技术。4)作为Java2的一个重要组成部分,JSP技术能够支持高度复杂的、基于Web的企业级应用。JSP技术可以轻松地与现有多种应用体系架构整合,可以充分利用已有开发工具和技巧,并扩展到企业级分布式应用环境。此外,JSP技术无论是在跨平台特性、运行效率、企业级软件开发还是商业支持方面都具有优势,从而使其成为目前和未来进行动态网页开发的最佳工具之一。3.3 数据库系统简介ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。ORACLE数据库具有以下优点:安全性高,存储数据量大,检索方便等。3.4 服务器系统简介Tomcat是Apache公司组织开发飞一种JSP引擎,由于自身具有Web服务器,可以作为独立的Web服务器使用。在 Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。另外 Tomcat也提供了一个应用:manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中。通过这个应用,辅助于Ftp,你可以在远程通过Web部署和撤销应用。当然本地也可以。Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它的处理静态Html的能力就不如Apache.我们可以将Tomcat和Apache集成到一块,让 Apache处理静态Html,而Tomcat处理Jsp和Servlet.这种集成只需要修改一下Apache和Tomcat的配置文件即可。3.5 CSS层CSS层叠样式表 (Cascading Style Sheet) 是一系列格式规则,它们控制网页内容的外观。使用 CSS 可以非常灵活并更好地控制具体的页面外观,从精确的布局定位到特定的字体和样式。并能极大的方便网页制作的工作4。这次设计中就学习使用了CSS层叠样式表,在HTML文文档外部将一系列CSS规则存储到一个.CSS文件中。例如创建了一个名为body的选择器。利用它来统一设计网站内网页背景及外部框架的样式。在声明中规定了页面的背景、滚动条的颜色样式等。还用.br和.wenbenkuang两个选择器确定输出文本框时的样式。由于CSS已经规定声明部分中的属性及其取值范围,所以对于我这样初学者的难点就是如何找到合适的属性来实现页面设计。3.6 平台选择Microsoft软件是日常生活中使用最为广泛的软件,基于这一特点,我们选用的平台是Java Server Page(简称JSP)+oracle数据库,它适应于Windows操作系统并能很好的与其应用程序结合,而且oracle数据库也易操作,从而大大降低了编程难度。具体如下:1)采用了Internet架构,Bowser/Server模式。2)Web服务器采用Tomcat6.0服务器,数据库管理系统为oracle。3)开发工具使用Dreamweaver搭建系统页面框架,再用MyEclipse在其中插入JSP语句,JavaBean使用MyElipse编写。4 系统设计与实现4.1系统总体结构设计本系统采用B/S(Browser/Server,浏览器/服务器)架构。在这种结构下,用户工作界面是通过IE浏览器来实现的。B/S模式最大的好处是运行维护比较简便,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据。B/S结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用。在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。B/S结构简化了客户机的工作,客户机上只需配置少量的客户端软件。服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。浏览器发出请求,而其余如数据请求、加工、结果返回以及动态网页生成等工作全部由Apache Server完成。实际上B/S体系结构是把二层C/S结构的事务处理逻辑模块从客户机的任务中分离出来,由Apache服务器单独组成一层来负担其任务,这样客户机的压力减轻了,把负荷分配给了Apache服务器。这种三层体系结构如图4.2所示。这种结构不仅把客户机从沉重的负担和不断对其提高的性能的要求中解放出来,也把技术维护人员从繁重的维护升级工作中解脱出来。由于客户机把事务处理逻辑部分分给了功能服务器,不再负责处理复杂计算和数据访问等关键事务,只负责显示部分,所以维护人员不再为程序的维护工作奔波于每个客户机之间,而把主要精力放在功能服务器上程序的更新工作。这种三层结构在层与层之间相互独立,任何一层的改变不会影响其它层的功能。图4.1 系统体系结构图4.2系统流程4.2.1总体流程层次模块结构是将系统划分为若干子系统,子系统下再划分为若干的模块。而模块是指具备有输入输出、逻辑功能、运行程序和内部数据四种属性的一组程序。在结构化系统设计中,模块一般都是按功能划分的,通常称为功能模块。合理的功能模块的划分能够极大限度地减少重复劳动、提高开发工作的效率并增大系统的可维护性。以前面的系统分析为基础,将系统分为两大模块,即前台模块和后台模块。网上商城系统的功能结构如图4.2所示。图 4.2 系统总体流程结构图4.2.2系统前台流程 网上商城前台的主要对象是顾客,操作步骤说明如下:1)顾客在进行第一次购物之前要进行会员验证,如果不是会员需要注册一个。注册时需要填写自己的用户名,密码,电子邮件等; 2)进入网上商店,顾客可根据不同的链接,查询不同类别的商品,可单击商品的图片查看到该商品的具体信息;3)选中商品后,并点击“加入购物车”按钮,将商品放入购物车; 4)选购结束,检查购物车,核实商品和数量是否正确,如有出入,可以重新调整商品和数量,如无误,则可以提交订单;5)提交订单需要填写送货的信息,确认无误点击提交,完成操作。 后台操作流程图如下图4.3所示:图4.3 网上商城系统前台流程图4.2.3系统后台流程 本商城的后台设计中,管理员完成对网站的维护与管理的工作。操作步骤说明如下:1)管理员通过唯一的用户名和密码登录到后台界面,通过下拉框列表可看到不同的操作模块;2) 系统管理:可查看所有注册的用户,可对用户进行删除。3) 商品管理:可查看所有商品信息,查看一件商品信息,可删除和修改商品,并添加一件商品。4) 类别管理:可添加一个类别,查看不同类别的比例图。5) 留言管理:可查看所有留言,删除留言。6) 订单管理:可修改订单,删除订单。后台管理的流程如图4.4所示:图4.4 网上商城系统后台业务流程图4.3 系统功能模块实现4.3.1前台模块的功能模块设计前台模块主要为登陆网站的用户提供商品和服务的信息,填写并提交订单的服务。这样,将前台模块再细分为用户管理模块、订单查询模块、购物车模块、留言板模块、商品模块。顾名思义,这些模块的名称基本概括了它们的功能。下面详细说明一下这些功能模块的设计:1)用户管理模块为了方便于网站的管理,必须由一套完整的用户管理体系。本网站用户管理模块主要实现用户的注册、登录、找回密码三方面功能,对于非会员用户必须先进行注册才能进入商城,如果忘记密码,可通过输入注册时的用户名和邮箱地址找回密码。登录流程图如图4.5所示:图4.5 登录流程图 部分实现代码如下:<form id=Logform name=Logform action="userinfo" method=post> <div class="loginFrom_top">用户登录</div> <ul><li><font>用户名:</font><input type=”text” name=”username” class=”loginFrom_text”></li> <li><font>密 码:</font><input typt=”password” name=”userpwd” class=”loginFrom_text”></li><input sype=”submit”id=”Login” name=”Login” class=”blog” onFocus=”this.blur()” value=”登录”> </ul></div></form>Class.forName("oracle.jdbc.OracleDriver");String url="jdbc:oracle:thin:127.0.0.1:1521:orcl"conn=DriverManager.getConnection(url,"ledushop","ledushop");conn = new DBUtil().getConn();String sql =”select * from userinfo where username=? And userpwd=?”登录模块页面login.jsp如图4.6所示:图4.6登录页面图对于非会员用户需要先进行注册,用户需要输入自己的基本信息,确认密码无误后完成注册,注册流程图如图4.7所示:图4.7 用户注册流程图 部分实现代码如下:String sql = "insert into Userinfo(id,username,userpwd,email,createtime) values(SEQ_USERINFO.NEXTVAL,?,?,?,?)";/添加用户request.setCharacterEncoding("gb2312");response.setContentType("text/html;charset=gb2312");PrintWriter out = response.getWriter();String username = request.getParameter("ld_userID");String userpwd = request.getParameter("ld_pass1");String email = request.getParameter("ld_mail");if(new UserinfoDao().addUserinfo(u)out.println("<script>alert('注册成功!')</script>");response.setHeader("refresh", "0;url=login1.jsp");elseout.println("<script>alert('注册失败!')</script>");response.setHeader("refresh", "0;url=new.jsp");注册页面new.jsp如图4.8所示:图4.8注册页面图对于忘记密码的用户,可通过输入自己的用户名和邮箱地址,找回自己的密码,找回密码流程图如图4.9所示:图4.9找回密码流程图部分实现代码如下:request.setCharacterEncoding("gb2312");response.setContentType("text/html;charset=gb2312");PrintWriter out = response.getWriter();String username = request.getParameter("username");String userpwd = request.getParameter("email");if(u!=null)out.println("<script>alert('您的密码为:"+u.getUserpwd()+"')</script>");response.setHeader("refresh", "0;url=show.jsp");elseout.println("<script>alert('您输入的用户名或邮箱有误!')</script>");response.setHeader("refresh", "0;url=new.jsp");找回密码页面findPassword.jsp如图4.10所示:图4.10 找回密码页面图2)购物车模块在超市购物,可以根据自己的需要将很多种商品挑选至购物车或购物篮中,然后到收银台结款。而在网上虚拟的商城中,当然没有办法使用真正的购物工具,因此,通常都会采用一种被称为“购物车”的技术来模拟现实生活,即现将商品信息存入一个集合中,这个集合就是购物车。在网上商城中,所选商品须通过购物车进行暂存,然后生产订单。这种技术使用起来十分方便,不但可以随时添加、查看、修改、清空购物车中的内容,还可以随时去收银台结款。购物车模块流程图如图4.11所示。图 4.11购物车模块流程图部分实现代码如下:HashMap<String, GoodCartItme> map=new HashMap<String, GoodCartItme>();public boolean addGoodCartItme(GoodCartItme gc) map.put(gc.getGo().getId()+"",gc);return true;public boolean deleteGoodCartItme(String Goodid)map.remove(Goodid);return true;public void clearCartItme()map.clear();public int getAllsum()int sum=0;for(GoodCartItme gc : this.getAllGoodCartItme()sum+=gc.getgoodinfosum();return sum;public void modify(String Goodid,int count) GoodCartItme gc=map.get(Goodid);gc.setCount(count);public Collection<GoodCartItme> getAllGoodCartItme()Collection<GoodCartItme> c=map.values(); return c;public boolean isExists(int Goodid)if(map.containsKey(Goodid)return true;elsereturn false;购物车页面gouwuche.jsp如图4.12所示:图4.12 购物车页面图3)订单管理模块用户将商品添加入购物车后可点击”提交订单”按钮,填写订单信息生成订单,点击提交后将订单信息入库,生成订单后用户可通过页面上的“订单查询”按钮,通过输入订单号查询订单,如果没有,这返回错误,重新输入。订单查询模块流程图如图4.13所示。图 4.13 订单查询模块流程图部分实现代码如下:request.setCharacterEncoding("gb2312");response.setContentType("text/html;charset=gb2312");PrintWriter out = response.getWriter();String name = request.getParameter("name");String telphone = request.getParameter("telphone");String address = request.getParameter("address");String dcode = request.getParameter("dcode");int userid = Integer.parseInt(request.getParameter("userid"); if(new DetailDao().addDetail(u)out.println("<script>alert('订单已提交,请付款!')</script>");response.setHeader("refresh", "0;url=show.jsp");elseout.println("<script>alert('您操作有误!')</script>");response.setHeader("refresh", "0;url=cart.jsp");订单页面cart.jsp如图4.14所示:图4.14 生成订单图4)留言板管理模块: 留言板是一个商务网站中不可缺少的组成部分,它可以增进用户与网站之间的交流。在现实网络开发中存在着各种各样的留言板,本设计中用户只要登录到了本系统,就可直接在“在线留言”栏中添加自己想说的话,系统会自动将存入数据库中并在页面显示出来,发表留言流程图如图4.15所示:图4.15 发表留言流程图部分实现代码如下:String sql = "insert into SPEAK(id,DESCRI,createtime,USERID) values(SEQ_SPEAK.NEXTVAL,?,?,?)"<FORM name=Upform action=”addSpeak” method=post><TD class=”LiuyanYe_FORMtdl”>您的姓名</TD><TD class=”LinyunYe_FORMtd2”><input name=”Mname” type=”text”Value=”<%=u.getUsername()%>”id=”Mname”></TD>留言板页面liuyan.jsp如图4.16所示:图4.16 留言页面图 发表留言页面addnew.jsp如图4.17所示:图4.17 发表留言图4.3.2后台管理模块的功能模块设计后台管理模块的功能是对站内的资源进行管理和维护。以后台的业务流程分析和前台各个模块的设计为基础、根据用户的需求分析来确定后台管理模块应具有的功能。后台管理模块的各个子功能模块如下:1)管理员登录模块 为合法用户提供一个后台入口。该模块的功能是对管理员身份进行能够验证。用户输入登录名和密码后,系统将判断登录名及密码的有效性,如果通过验证则状态后台主页,反之则提示错误,本次设计只设定一个唯一的后台管理员,不可注册新的管理员以确保后台的稳定,防止信息泄露。登录流程图如图4.18所示:图4.18 网上商城系统后台登录流程图部分实现代码如下:private String hql=null;public Admin findAdminByProperties(final Admin admin) throws Exception hql = "from Admin as u where u.adminname=? and u.adminpwd=?" Return (Admin)this.getHibernateTemplate().execute(new HibernateCallback public Object doInHibernate(Session session)throws HibernateExceptionQuery query = session.createQuery(hql);query.setString(0,admin.getAdminname();query.setString(1,admin.getAdminpwd(););登录模块页面login1.jsp如图4.18所示:图4.18网上商城系统后台登录图 2)商品管理模块 向商品表插入前台首页展示的商品信息,也就是添加商品信息的功能,点击“查看商品”可查看到所有商品的信息,点击删除可删除单个商品,点击修改可修改商品的信息,点击添加商品可添加一类商品,点击进货可添加一个商品的库存数量。添加商品流程图如图4.19所示:图 4.19添加商品信息模块流程图部分实现代码如下:public List getAll() throws Exception hql="from Shop as s"return this.getHibernateTemplate().find(hql);public Shop getShopById(Byte id) throws Exception return this.getHibernateTemplate().get(Shop.class, id);public void delete(Shop shop) throws Exception this.getHibernateTemplate().delete(shop);public void update(Shop shop) throws Exception this.getHibernateTemplate().saveOrUpdate(shop);商品管理页面med_list.jsp如图4.20所示:图4.20 商品管理页面图3)类别管理每一个商品都有自己所属的类别,因此对商品管理之前,都需要对类别进行管理,类别管理可查看所有类别的信息,可添加一个商品类别,点击类别统计可查看到类别的饼状图。部分实现代码如下:JFreeChart chart = null;if(list != null && list.size() > 0