




已阅读5页,还剩71页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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附录:源程序清单471 引言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 登录流程图 部分实现代码如下: 用户登录 用户名: 密 码: Class.forName(oracle.jdbc.OracleDriver);String url=jdbc:oracle:thin::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(alert(注册成功!);response.setHeader(refresh, 0;url=login1.jsp);elseout.println(alert(注册失败!);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(alert(您的密码为:+u.getUserpwd()+);response.setHeader(refresh, 0;url=show.jsp);elseout.println(alert(您输入的用户名或邮箱有误!);response.setHeader(refresh, 0;url=new.jsp);找回密码页面findPassword.jsp如图4.10所示:图4.10 找回密码页面图2)购物车模块在超市购物,可以根据自己的需要将很多种商品挑选至购物车或购物篮中,然后到收银台结款。而在网上虚拟的商城中,当然没有办法使用真正的购物工具,因此,通常都会采用一种被称为“购物车”的技术来模拟现实生活,即现将商品信息存入一个集合中,这个集合就是购物车。在网上商城中,所选商品须通过购物车进行暂存,然后生产订单。这种技术使用起来十分方便,不但可以随时添加、查看、修改、清空购物车中的内容,还可以随时去收银台结款。购物车模块流程图如图4.11所示。图 4.11购物车模块流程图部分实现代码如下:HashMap map=new HashMap();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 getAllGoodCartItme()Collection 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(alert(订单已提交,请付款!);response.setHeader(refresh, 0;url=show.jsp);elseout.println(alert(您操作有误!);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,?,?,?);您的姓名input name=”Mname” type=”text”Value=”id=”Mname”留言板页面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)DefaultPieDataset dataset = new DefaultPieDataset();for (int i = 0; i list.size(); i+) Object objs = (Object)list.get(i);dataset.setValue(objs0.toString(), (Number)objs1);chart = ChartFactory.createPieChart3D(ledushop商品类别统计, dataset, true, true, false); chart.getTitle().setFont(new Font(隶书,Font.BOLD,25);chart.getLegend().setItemFont(new Font(宋体,Font.BOLD,15);PiePlot plot = (PiePlot) chart.getPlot(); plot.setForegroundAlpha(0.5f); plot.setLabelFont(new Font(宋体,Font.PLAIN,12);plot.setCircular(true); plot.setLabelGenerator(new StandardPieSectionLabelGenerator(0=2,NumberFormat.getNumberInstance(),NumberFormat.getPercentInstance();return chart;类别管理页面category.jsp如图4.21所示:图4.21 类别管理页面图4)订单管理模块前台用户确认购买后会生成相应订单,订单永久存在于数据库中,因此对于网站管理者可对用户过期的订单进行删除,同时也可查看到所有订单那,部分实现代码如下: $detail.id $ $detail.telphone $detail.address $detail.dcode $detail.createtime 订单管理如图4.22所示:图4.22 订单管理页面图5)留言管理模块 前台设置的在线留言功能,方便及时反馈用户对网站的满意度,管理员可对用户的留言进行操作,对于不友好的留言可删除。部分实现代码如下:public String list() throws ExceptiontryList list = speakService.getAll();getRequest().setAttribute(speakList,list);catch(Exception ex)ex.printStackTrace();return to_speak;留言管理如图4.23所示:图4.23 留言管理页面图6)系统管理模块用户注册后会将自己的所有信息录入数据库中,管理员可对用户的信息进行操作,对于经常不登录的用户可删除,点击退出系统可退出。部分实现代码如下:public void save(Userinfo userinfo) throws Exception this.getHibernateTemplate().save(userinfo);public List getAll() throws Exception hql=from Userinfo as u;return this.getHibernateTemplate().find(hql);public void update(Userinfo userinfo) throws Exception this.getHibernateTemplate().update(userinfo);public void delete(Userinfo userinfo) throws Exception this.getHibernateTemplate().delete(userinfo);public Userinfo get(Byte id) throws Exception return this.getHibernateTemplate().load(Userinfo.class,id);用户管理页面userinfo.jsp如图4.24所示:图4.24用户管理图4.4 数据库表设计数据库是数据库应用程序的重要组成部分。一个设计结构合理的数据库对于应用程序的开发效率和程序的性能都是非常重要的。数据库的设计过程大致如下:根据用户需求,确定数据库中要保存的数据信息。对用户需求进行分析时数据库设计的第一个阶段。不断的调查与研究用户需求,了解企业运作流程等系统需求,使设计概念模型的基础。设计数据库的概念模型。概念模型是按用户的观点来对数据建模,使用与进行信息世界建模的工具。它对整个数据库的设计具有深刻的影响。逻辑结构设计。逻辑结构是把概念结构转化为与所采用的数据库管理系统所支持的数据模型相符合的过程。数据库的实施和维护。 在设计好前台与后台的功能模块后,就开始进行数据库的设计了。根据网站系统的分析,数据库是整个网站的核心。从前台显示的信息到后台操作的对象,都是围绕数据库展开的。4.4.1 E-R图E-R图是一种概念模型。概念模型实际上是现实世界到机器世界的一个中间层次。概念模型用于信息世界的建模,是显示世界到信息世界的第一层抽象,使数据库设计人员进行数据库设计的有利工具,也是数据库设计人员和用户之间进行交流的语言,因此概念模型一方面应该具有较强的语义表达能力,能够方便、直接的表达应该用众的各种语义知识,另一方面他还应该简单、清晰并且易于用户理解4。以下是各个数据表的实体图。1)商品信息表SHOP的实体图图 4.25商品信息表SHOP的实体图2)用户信息表USERINFO的实体图图 4.26 用户信息表USERINFO的实体图3)留言信息表SPEAK的实体图图 4.27 留言信息表SPEAK的实体图4) 订单生成表DETAIL的实体图图 4.28 订单生成表DETAIL的实体图5)商品类别表SHOPTYPE的实体图图 4.29 订单商品表SHOPTYPE的实体图6)管理员信息表ADMIN的实体图图 4.30 管理员信息表ADMIN的实体图7)总体E-R图图 4.31 总体E-R图4.4.2基本表设计表的设计是这次设计的一个核心内容。根据前面对网站前台与后台功能模块的分析和对数据库中实体关系的设计,可以看到网站中所用到的数据信息基本包括:商品信息、用户信息、留言信息、订单信息、管理员信息、留言信息等。下面是为数据库设计的表:1)商品信息表tb_Shop商品信息表tb_Shop用来保存商品的基础信息。结构如表4.1所示。表4.1 tb_Shop的结构字段名称数据类型长度是否允许空是否为主键字段描述IDInt2否是商品IDShopnameVarchar210否否商品名称Pricenumber10否否商品价格ShopsizeVarchar220否否商品尺码DmadeVarchar210否否布料构成Medcountnumber10否否库存数量Regcountnumber10否否需求数量MinimageVarchar210否否小图片路径MaximageVarchar210否否大图片路径TypeidInt2否否类别ID2)用户信息表tb_Userinfo用户信息表tb_Userinfo用来保存用户信息。表tb_Userinfo的结构如表4.2所示。表4.2 tb_Userinfo的结构字段名称数据类型长度是否允许空是否为主键字段描述UseridInt2否是用户IDUsernameVarchar220否否用户名userpwdVarchar220否否用户密码createtimeDate否否生成时间EmailVarchar220否否Email3)留言信息表tb_Speak留言信息表tb_Speak用来记录留言信息。表tb_Speak的结构如表4.3所示。表4.3 tb_Speak的结构字段名称数据类型长度是否允许空是否为主键字段描述IDInt2否是主题IDUsernameVarchar220否否作者姓名EmailVarchar250否否EmailCreatetimeDate否否发布时间TextnameVarchar250否否主题名称TextgutVarchar216否否留言内容4)商品类别表tb_Shoptype商品类别表tb_Shoptype用来记录某一类商品的信息。表tb_Shoptype的结构如表4.4所示。表4.4 tb_Shoptype的结构字段名称数据类型长度是否允许空是否为主键字段描述IdInt2否是类别idTypenameVarchar210否否类别名称DescriVarcahr220否否类别介绍CreatetimeDate否否创建时间5)管理员信息表tb_Admin管理员信息表tb_Admin主要用于记录管理员的信息。表tb_Admin的结构如表4.5所示。 表4.5 tb_Admin的结构字段名称数据类型长度是否允许空是否为主键
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 从结绳计数说起(教学设计)-2024-2025学年北师大版数学四年级上册
- 九年级化学下册 7.4 结晶现象教学设计2 (新版)粤教版
- 中学生如何控烟-山东省聊城市高唐县第二实验中学人教部编版七年级道德与法治下册教学设计
- 人教部编版九年级道德与法治上册7.1《促进民族团结》教学设计
- 初中语文人教部编版 (五四制)六年级下册(2018)石灰吟教案及反思
- 二年级品德与社会下册 2 让家园更美好 我们的大地妈妈第2课时教学设计 新人教版
- 大客户销售技巧培训课件
- 超市实物盘点培训
- 岗前培训心得汇报
- 采购管理培训资料
- 【真题】2023年徐州市中考化学试卷(含答案解析)
- 新教科版五下科学1.5《当环境改变了》教学设计
- 【基于价值链的企业成本管理探究案例-以云南白药为例15000字(论文)】
- 辽源职业技术学院单招职业技能测试参考试题库(含答案)
- 锂电池总代理协议
- 剖宫产全麻处理课件
- 血液科护士的造血干细胞移植护理
- 临床医学知识与技能大赛
- HGE系列电梯安装调试手册(ELS05系统SW00004269,A.4 )
- 食品化学课件(十章全)
- 2010第五届广州市荔湾区张道真杯真题附答案
评论
0/150
提交评论