网站设计及其实现_第1页
网站设计及其实现_第2页
网站设计及其实现_第3页
网站设计及其实现_第4页
网站设计及其实现_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

XX网站设计和实现摘要网络科学技术飞速发展,科技产品层出不穷,对于企业或企业,宣传自己理念及推广所开发产品是至关关键。假如大家想要在更短时间内,了解到更多相关科技产品信息,一个比较便捷方法便是经过网络来访问。xx网站设计,它将需求、产品销售和用户服务高度紧密结合在一起,大大提升了效率,方便用户了解及订购适宜软件来提升工作效率,使得用户和企业能够轻松交互。网站以jsp作为前台关键展示工具,使用MVC设计模式,根据工厂模式解耦,设计程序底层使用Hibernate持久层框架。Spring容器管理对象,Struts2结合jsp做前台展示,实现了产品公布和展示,新闻公布,企业精神理念展示,留言意见反馈,用户实时咨询,后台管理等功效。关键词:系统;电子商务;游戏开发;软件开发AbstractNetworkscienceandtechnologyrapiddevelopment,scienceandtechnologyproductsemergeinendlessly,forenterpriseorcompany,promotetheirownideasanddevelopmentofproductsisvital.Ifpeoplewanttobeinashorterperiodoftime,toknowmoreaboutinformationtechnologyproducts,isamoreconvenientwaytoaccessthroughthenetwork.Jinrunwebsitedesign,itwilldemandproductsalesandcustomerservicelevelcloselyunifiesintogether,greatlyimprovingtheefficiency,convenientcustomertounderstandandordertherightsoftwaretoimproveworkefficiency,makecustomersinteractwiththecompaniescaneasily.SitewithJSPasthefrontdeskofthemaindisplaytool,usingtheMVCdesignpattern,accordingtothethreelayersofdecouplingrelationship.TheunderlyinguseHibernatepersistencelayerframework,theSpringcontainermanagementobject,struts2combinedwithJSPfront-enddisplay.Hasrealizedtheproductdistributionanddisplay,pressrelease,theconceptofenterprisespirit,themessagefeedback,usersreal-timeconsultation,backgroundmanagementfunctions.Keywords:System;Electroniccommerce;Thegamedevelopment.Software development目录TOC\o"1-3"\h\u218961引言 1260361.1研究背景 1226431.2研究意义 2191672网站系统相关技术及工具介绍 3139042.1服务器Tomcat7.0介绍

39752.2JAVA语言 392322.3MySQL 4165132.4Hibernate 4279732.5Spring框架 5132172.6MVC开发模式介绍 5168373需求分析及总体设计介绍 7240973.1需求分析 7136693.2项目架构 8267553.3系统工作原理 9109033.4模型设计 10326443.4.1控制层设计 10263523.4.2业务层设计 1158953.4.3工具类设计 16186533.4.4持久层设计 18198284网站前台设计和实现 2041214.1首页设计 20150714.2产品展示 21303604.3新闻中心 2148004.4留言反馈界面展示 2215384.5其它界面展示 23296915网站后台设计和实现 25138265.1管理员登录 25252215.2后台主页 254875.3新闻管理模块 26324985.4产品管理模块 27226345.5网站信息管理模块 28296125.6用户留言管理模块 2878345.7其它模块 2932356系统测试 3018546.1测试要求 30219406.2测试用例设计 30189916.3测试结论 30156447结论 3125450谢辞 3225265参考文件 33XX网站设计和实现1引言1.1研究背景现在,网络发展趋势已经商业化和全民普及趋势。世界上大部分企业企业全部是以营利为首要目标。在宣传推广上,就显得尤为关键。使用有效广告能够为我们带来高效益,比如在企业宣传,招聘职员信息公布,网上销售等方面,网络给我们带来了很多方便。现在网络俨然已经成为了企业竞争关键战略手段。网站优势源于能够为企业提供一个舞台来展示自己、另一个好处表现在能为消费者愈加便捷提供一个了解企业路径。企业或企业能够经过网络平台,实时提供在线客服以供咨询。利用网络推广和宣传企业产品、实时公布部分要闻,用户需求提议也能够经过留言信息立即反馈给企业网站工作人员。网络普及,使得计算机走进了千家万户,社会各层人士取得了平等接触实时信息机会。利用这股发展趋势,各大企业在管理和销售上全部能使用到软件领域工具来进行便捷销售,便捷办公,解放一定劳动力。利用网站推广产品,推进行业发展,促进产品销售是一个很好方案,新促销形式,和传统相比有很多优点:它降低产品成本;利用网络作为交互平台;改变传统人和人直接碰面交谈方法,能够降低交互交谈时受空间和时间限制;信息传输及公布更新愈加快速灵活,新技术产品信息上传后,能够立即得到推广和发觉,用户能够立即看到,对于满意产品,能够直接和客服人员交谈,从而大大提升了效率。网站关键功效是利用网站作为企业企业产品展示平台,将最新产品部分基础信息和相关新闻、企业现在概况等信息以网站形式公布到网络上,以供大家观看和借鉴。此次毕业设计课题是基于JSP设计企业网站系统,它产生背景源于武夷山市企业信息化建设。此设计更具实际研究意义,目标是综合所学知识和利用身边网络资源,锻炼动手实践能力,有利于提升综合学习能力。顺利完成设计课题前提条件还需要很多课外知识补充,如MVC开发模式,目前流行J2EE框架,对XML等配置文件书写有一定了解等等。1.2研究意义信息化技术飞速发展,科学技术一日千里,这推快了大家生活节奏。时间变得愈加宝贵。任何产品需要很好被使用,其著名度就至关关键。大家生活中更多接触便是电视、电脑、手机这些科技产品。那么对于软件领域研发出来科技产品,企业应该怎样对其推广宣传和销售。源于这一思索,设想假如各大企业企业能纷纷建立起属于自己企业网站,将最新产品和新闻实时公布更新,那么去推广一个网站相对来讲愈加省时省力,这是提升效率有效路径。企业建立网站,这么能够很好对外展示企业文化,是企业实力一个表现方法。今天,各行各业竞争日趋猛烈,每个企业所面临关键任务是提升工作效率和工作质量。企业网站建立能够大量降低人力资源方面成本付出,突破了时间和空间限制,用户对产品具体了解能够在任何时间和地点进行,能够即时进行。有了展销产品网站平台,用户就不需要到实地去查询产品详情,能够借助网络平台联络销售员,经过远程体验,大大便捷了交易所带来时间问题。鉴于互联网很多优势和对中国外软件产品销售现实状况研究分析,我此次设计是开发一个集成了公布产品、公布新闻、服务咨询等功效于一体企业网站,以微小力量推进中国互联网发展。2网站系统相关技术及工具介绍2.1服务器Tomcat7.0介绍

Tomcat由开源小区研究开发,对编程爱好人员能够自由对Tomcat服务器进行学习和研究。因为它无偿和开源这些特征。Tomcat得到了极大推广,而且经过开源小区贡献,它性能也愈加强大,趋于完善。

Tomcat是纯粹由java代码编写。它以小型、轻量级Web服务器特点被广泛推广利用并受人喜爱。在个人电脑上安装上服务器软件,个人PC电脑自然就成为了一个初具模型服务器,在中小型系统和并发访问量不多情况下能够被普遍地使用。在配置好Tomcat服务器电脑上,这么Tomcat就能够对HTML页面等用户发出访问请求进行响应[1]。

我们将web应用程序布署到Tomcat服务器中,就能够实现在当地进行web应用程序调试运行。2.2JAVA语言Java以其面向对象优势和安卓市场被广大人群深知。因为Java被很流行推出,同时拥有世界上最大开源小区正在快速发展,对c++语言已经形成了强大冲击。Java能够处理部分复杂逻辑问题,将问题转化为面向对象思想去处理。Java语言由杰姆斯高斯林和她同事共同开发,工程正式开启于1995年。后期更名为Java,而且重新设计开发互联网应用。由Java编写出源代码,经虚拟机类加载器编译成字节码文件后,能够运行在不一样平台上。这么就脱离了java运行环境,只需要编译过一次,就能够四处运行[2]。Java有一个用户友好,贴近现实生活语法。这么语言含有着独特优势,拥有面向对象概念,稳定性,和平台独立性,安全性,稳定性和支持多线程,动态等优良特征。因为Java多线程特征,处理器在不一样线程间快速切换。相比其它语言,如C++没有内置多线程机制,所以C++多线程就必需调用操作系统多线程功效来进行多线程程序设计。Java在软件编程语言设计中,不单能够应用于开发大型应用程序,而且在Internet应用开发方面也较为突出。Java不仅是一门现在大家大量使用编程语言,就现在所知道IT行业很多最新技术全部包含了java语言,java早已经被大家公认为当今世上最关键语言之一[3]。2.3MySQL就现在数据分类来看,MySQL规模能够将其划分到中型数据库,它是由瑞典研发人员所研发,现在已经属于Oracle企业。MySQL是最流行关系数据库管理系统,MySQL在很多Web应用程序中是最好关系数据库管理系统[4]。MySQL特点就是高效灵活,它工作原理是将数据保留一张张表中,数据整体存放合理,结构优良。MySQL使用标准结构化查询语言、其软件体积小、反应速度快、成本低、开源,因为这些优势,尤其是小型和中型网站应用开发通常是以MySQL为首选。MySQL底层应用语言以C和C++为主,使用了多个编译器对其进行测试和不停改善,在移植性方面,mysql表现较为突出。多个操作系统对mysql全部支持,像通俗常见就有:Linux、MacOS、Windows等操作系统。它还为为多个编程语言提供了API支持。比如Java、C++、C和Tcl等,MySQL和这边编程全部能完美融合。另外MySQL对多线程处理方面也有部分优势,这么就能使得服务器CPU资源能够被充足利用起来。因为MySQL提供标准结构化查询语言、提供ODBC和JDBC等连接数据库方法,使其愈加便于管理、检验,在优化数据库操作方面也愈加便捷[5]。2.4HibernateHibernate优点:对JDBC封装,简化了很多反复代码。对DAO层编码工作进行了简化,使开发能够集中精力关心业务逻辑。移植性好,它支持多个数据库,这么更换数据库时代码改变量就比较少。该框架没有实现任何接口,没有侵入性。是一个轻量级框架。Hibernate延迟加载:延迟加载特点是当一个对象或对象属性查询时,该对象或属性临时不存在内存中,只有当程序真正使用到数据时,该数据才被加载到内存中[6]。优化Hibernate:1、在一对多关联关系中,应该从多一方维护。2、避免使用一对一,尽可能使用多对一关联关系。3、配置对象缓存,降低使用集合缓存。4、降低表字段,表关联不要怕多,二级缓存撑腰。Hibernate因为其简单学习成本,功效完备而且运行高效,受到开发人员喜爱。使用Hibernate自带查询语言HQL,能够使数据库操作方面愈加得心应手,处理很多开发上常见对数据库操作一系列繁琐问题,使程序员能够专注于处理业务逻辑问题[7]。2.5Spring框架Spring是一个轻量级容器,默认很多服务是不自动打开,需要手动配置来将其打开。学习Spring框架两个关键:IOC和AOP。内部关键是一个Bean工厂(BeanFactory),它提供和实现控制反转和依靠注入。另外Spring容器用于申明式事务,安全等服务应用[8]。Spring能够和目前流行框架集成,应用范围广泛,能够是B/S或C/S[9]。本网站系统采取注释方法来管理事务。从三层结构来看,Web层Struts2框架和Dao层Hibernate框架全部和其进行整合。Spring强大管理及代理等方法,使任何Java应用全部能够从Spring中受益[10]。其结构图2-1所表示:图2-1Spring结构2.6MVC开发模式介绍MVC是企业级应用开发中常见设计模式。它把项目架构进行分层设计,分为表现层、业务逻辑层、数据访问层。MVC即代表模型视图控制器。模型(Model)即为部分常见实体类,(如Person类实体),实体类关键用于封装数据。视图(View),通常见作数据显示。在J2EE中视图由jsp负责显示。控制器(Controller),用于协调M和V关系,也用作处理业务逻辑,在Struts2中就是Action类[11]。1、模型模型通常表示数据封装。在三层架构中,模型拥有较多处理任务。模型能为视图提供数据支持。因为模型代码能够被多个视图反复使用,这么能够降低代码反复性书写[12]。2、视图视图提供给用户使用,而且能够和之交互界面。在Web应用早期,界面关键是由HTML做出简单显示,然而,在现在网络技术发展下,部分新技术出现,如XHTML,XML/XSL,WML这些标识语言和Web服务。MVC应用程序能够处理很多不一样返回结果视图[13]。3、控制器当用户请求数据,控制器做出响应处理,最终将数据进行封装,再交给jsp做显示。所以当你点击在JSP互动步骤时,控制器接收组件要求和决议模型呼叫建立负责处理传入请求,然后封装数据,确定该视图显示界面[14]。3需求分析及总体设计介绍3.1需求分析《xx》模型是经典网上产品展销实践中较为普遍商务企业B/S模式,其关键功效模块包含产品公布、新闻管理、留言反馈、业务咨询等基础功效。另外,此网站也将实现企业网站系统后台管理,其中包含新增产品添加和修改信息、新闻相关处理功效等。本系统Web层框架,是基于现在流行SSH,前台采取JSP技术作为显示和交互,在网站设计和开发过程中,利用软件设计模式,做到尽可能削减体系功效模块间耦合。本网站系统前后台功效关系,图3-1所表示:图3-1系统功效分析前台(游客浏览)部分:企业文化展示:显示企业精神理念,企业福利待遇等信息;经营业务展示:显示企业经营范围内业务项目;新闻显示:按最新更新展示新闻条目及具体;产品显示:经过预览图片或产看具体方法查看产品具体信息;留言反馈:经过表单填写提交对此网站和产品提议或意见。后台(管理员管理)部分:管理员:管理员登录;新闻管理:分页查看全部新闻,对新闻进行编辑、批量删除、添加新闻操作;产品管理:按更新时间次序添加新产品、查看产品具体信息、编辑产品、删除产品信息;网站基础信息管理:更新网站基础信息,企业理念精神及企业福利,地址和联络信息;3.2项目架构 图3-2项目架构图3-2所表示,左边是项目工程三层架构。Dao层及其接口实现类,这两个包中类协调负责对数据库中数据进行存取操作。而domain包下存放是实体类,关键是为了对数据进行封装和携带数据。Service及其实现类在三层架构中关键是针对业务逻辑进行编写类。Beans.xml、Hibernate.cfg.xml和struts.xml这三个配置文件则是对应SSH框架。而perties则是此web应用程序中用到一个自定义配置文件。右边是根目录结构,其下是JSP页面存放和样式控制文件等,比如CSS、js文件等。此次项目设计遵照MVC设计模式,利用Spring容器巧妙创建和管理类,遵照工厂设计模式对类进行解耦,根据三层架构进行设计和实现,层和层之间类功效明确,整体结构清楚,便于调试和管理。3.3系统工作原理基于web网站系统是用户经过浏览器发送请求,依据HTTP协议,Tomcat服务器接收到用请求后,将依据配置文件为其分配是由哪种Servlet来处理。假如是访问以.do结尾URL地址,就交由Struts2来处理,Struts2将依据配置文件为其分配对应Action来处理请求。Action类中对应方法将调用对应业务类方法去完成请求,由业务类调用dao方法来完成对数据库存取和访问。图3-3所表示:Spring将三层中全部类创建管理起来,包含控制层,业务层实现类和DAO层中类。图3-3工作原理3.4模型设计3.4.1控制层设计在SSH框架组合下,控制层代码由struts2Action来充当,依据请求信息调用指定action类中方法来进行请求处理,和返回对应结果视图,由jsp将数据作为展示给用户。命名空间以"/sys"标识为后台包,以"/cli"标识对应前台,通常由网络上游客随机访问。在两大类对应包名下有对应前台和后台模块很多Action类,代码以下:Struts2中前台配置:<packagename="cli"namespace="/cli"extends="default"> <!--用户端首页--> <actionname="indexAction_*"class="indexAction"method="{1}"> <resultname="index">/WEB-INF/client/index.jsp</result> </action> <!--业务中心--><actionname="businessAction_*"class="businessAction"method="{1}"> <resultname="business">/WEB-INF/client/business.jsp</result> </action> <!--产品展示--> <actionname="productAction_*"class="productAction"method="{1}"> <resultname="product">/WEB-INF/client/product.jsp</result> <resultname="promore">/WEB-INF/client/promore.jsp</result> </action> <!--新闻中心--> <actionname="newsAction_*"class="newsAction"method="{1}"> <resultname="news">/WEB-INF/client/news.jsp</result> <resultname="fullText">/WEB-INF/client/fullText.jsp</result> </action></package>3.4.2业务层设计业务层由Struts2action类和部分实体类配合使用,关键是针对业务逻辑和数据封装,数据携带这些请求进行处理,然后返回结果视图,供页面做显示。业务层处理内容包含:企业软件产品增删改查功效、新闻模块显示功效、留言和意见反馈功效、客服在线咨询等。软件产品业务设计,灵感来自于部分企业门户网站,其思绪是:产品罗列,能够对产品具体信息查看,在产品查看过程中能够即时联络客服人员订购咨询或了解详情。下面是产品业务类实现部分代码://后台--显示产品列表 publicStringlist(){ QueryBuilderqueryBuilder=newQueryBuilder(Product.class); queryBuilder.addOrderProperty("updateTime",true); PageViewpageView=productService.getPageView(queryBuilder,getPageNum(request)); request.setAttribute("Products",pageView); return"list"; }//后台--添加产品 publicStringadd(){ Stringsuffix=null; try{ suffix=product.getPicFileName().substring(product.getPicFileName().lastIndexOf(".")); if(!".jpg".equalsIgnoreCase(suffix)){ this.addFieldError("msg","格式错误"); return"addUI"; } }catch(Exceptione){ this.addFieldError("msg","请选择产品图片"); return"addUI"; } //文件上传 if(product.getPicFileName()!=null){ StringtmpFileName=product.getPicFileName().substring(product.getPicFileName().lastIndexOf("/")+1); StringUUIDName=UUIDUitls.getUUID()+suffix; StringsavedPath=ServletActionContext.getServletContext().getRealPath(uploads); FilesavedFile=newFile(savedPath,UUIDName); if(product.getPic()==null){ this.addFieldError("warn","请选择图片"); return"addUI"; } product.getPic().renameTo(savedFile); //添加统计到数据库 product.setNewName(UUIDName); product.setOglName(tmpFileName); product.setUpdateTime(newDate()); productBiz.save(pro); request.setAttribute("msg","提醒:上传成功"); } return"addUI"; }留言反馈处理:首先对想要留言用户进行姓名规则校验、电话号码校验、邮箱规则校验,校验不经过(包含空)将不提交页面,当非空等检测经过以后,就提交表单,这么就能够从数据库中查看到经过检测用户留言,能够避免大量垃圾留言。新闻展示业务:包含新闻条目,新闻公布时间根据更新时间排序,经过分页对新闻进行显示。新闻模块功效实现,是从数据库按页查出目前显示页新闻页集合信息,用list集合封装,然后借助ognl对其进行迭代操作并显示。而在前台页面分页功效实现,则是由Action去获取每页大小数和所查看数据目前页码,动态拼凑hql语句,每次去数据库询出指定页码统计条数,进行封装到page实体,再将多个page实体封装成list集合,完成查询后将返回结果给页面进行迭代显示。下面为新闻模块部分代码://新闻列表 publicStringlistNews(){ QueryBuilderqueryBuilder=newQueryBuilder(News.class); queryBuilder.addOrderProperty("record",false); PageViewpageView=newsService.getPageView(queryBuilder,getPageNum(request)); request.setAttribute("news",pageView); return"listNews"; }//批量删除新闻 publicStringdel(){ //获取ids String[]sids=request.getParameterValues("News_ids"); Integerids[]=DataType.converterStringArray2IntegerArray(sids); if(ids!=null){ //删除 newsService.deleteSysProductsByIds(ids); return"listAction"; } returnnull; }//公布新闻 publicStringaddNews(){ //非空判定title if(StringUtils.isBlank(news.getTitle())){ this.addFieldError("msg","请填写文章标题"); return"addNewsUI"; } //假如是事纪年份不能为空 Stringsuffix=null; if(News.EVENTS_VALUE.equals(news.getRemark())){ if(StringUtils.isBlank(news.getYear())){ this.addFieldError("msg","请填写事纪年份"); return"addNewsUI"; } }else{ //假如是新闻,图片不能为空 if(StringUtils.isBlank(news.getPicFileName())){ //新闻有图片 this.addFieldError("msg","请选择新闻图片"); return"addNewsUI"; } //图片名不为空时候验后缀名 try{ suffix=news.getPicFileName().substring(news.getPicFileName().lastIndexOf(".")); if(!".jpg".equalsIgnoreCase(suffix)){ this.addFieldError("msg","格式错误"); return"addNewsUI"; } }catch(Exceptione){ this.addFieldError("msg","请选择图片"); return"addNewsUI"; } } //新闻公布者--验空 if(StringUtils.isBlank(news.getName())){ this.addFieldError("msg","请填写您身份"); return"addNewsUI"; } //新闻内容--验空 if(StringUtils.isBlank(news.getContent())){ this.addFieldError("msg","请填写文章内容"); return"addNewsUI"; } //1依据remark判定新闻还是事纪 if(News.EVENTS_VALUE.equals(news.getRemark())){ //设置年份"-" Stringtemp=news.getYear().substring(0,4); news.setYear(temp+"-"); } //2设置新闻公布时间,截取 news.setPostTime(newDate()); //3.新闻摘要截取 if(news.getContent().length()>100){ news.setDigest(news.getContent().substring(0,99)); } //4.设置新闻图片上传信息图片上传 if(StringUtils.isNotBlank(news.getPicFileName())){ //System.out.println(picForm.getPicFileName()); StringtmpFileName=news.getPicFileName().substring(news.getPicFileName().lastIndexOf("/")+1); StringUUIDName=UUIDUitls.getUUID()+suffix; StringsavedPath=ServletActionContext.getServletContext().getRealPath(uploads); System.out.println("--新闻添加--"+savedPath); FilesavedFile=newFile(savedPath,UUIDName); //新闻必需要有图、事纪图片可有可无以下判定不需要 if(news.getPic()==null){ this.addFieldError("warn","请选择图片"); return"addNewsUI"; } news.getPic().renameTo(savedFile); //添加统计到数据库 news.setNewName(UUIDName); news.setOglName(tmpFileName); } //4.其它信息保留 newsService.save(news); request.setAttribute("msg","提醒:文章公布成功"); return"addNewsUI"; }3.4.3工具类设计当设计程序在调用过程中将反复性调用部分方法或需要便捷提供调用时,这时候就需要将其抽取出来,封装成单独工具。这么就能够和业务无关而能够在任意层被单独使用。在此次设计中工具类方法有:CheckPrivalegeInterceptor.java类用于检测后台操作时,管理员是否是登录状态检测。DataType.java用于对web前台所获取到数据参数进行类型转换。MD5keyBean.java则是用于对字符串进行加密使用,通常是对其成数据指纹摘要,是一串32位明文密码。而SessionUtils.java是针对登录用户能够设置服务器session存活时间或退出系统时将user从session中移除出去。UUIDUtil.java用于生成全球唯一id号。代码示例:DataType.javapublicclassDataType{ publicstaticInteger[]converterStringArray2IntegerArray(String[]sids){ if(sids!=null&&sids.length>0){ Integer[]ids=newInteger[sids.length]; for(inti=0;i<ids.length;i++){ if(StringUtils.isNotBlank(sids[i])){ ids[i]=Integer.parseInt(sids[i]); } } returnids; } returnnull; } publicstaticIntegerStr2Integer(Stringid){ if(StringUtils.isNotBlank(id)){ returnInteger.parseInt(id); } returnnull; } publicstaticStringInteger2Str(Integerid){ if(id!=null){ returnid.toString(); } returnnull; }}SessionUtils.javapublicclassSessionUtils{ publicstaticvoidsetSysUserToSession(HttpServletRequestrequest,Useruser){HttpSessionsession=request.getSession(); if(user==null){ return; } session.setAttribute("user",user); } publicstaticUsergetSysUserFormSession(HttpServletRequestrequest){ HttpSessionsession=request.getSession(false); if(session==null){ returnnull; } Useruser=(User)session.getAttribute("user"); returnuser; }}3.4.4持久层设计为了处理并发访问带来问题,此次设计选择以c3p0数据源为其设计数据库连接池。由每一个实体类对应一张表,利用Hibernate持久化,懒加载,缓存等特征对数据进行保留、更新和频繁查找操作。从Struts2Action创建、Service类和Dao对象创建,使用了目前流行工厂模式,三层架构中每一个层类全部对其进行抽取接口,而且使用注解加配置文件相结合,由Spring容器代为管理对象生命周期,灵活搭配,整个项目工程看起来结构清楚。事务控制,一样是采取注解方法,这么设计结构一目了然,便于后期系统维护和升级[15]。下面是代码部分示例:Hibernate配置文件中映射:<hibernate-configuration><session-factory> <mappingresource="com/jinrun/domain/User.hbm.xml"/> <mappingresource="com/jinrun/domain/Picture.hbm.xml"/> <mappingresource="com/jinrun/domain/Message.hbm.xml"/> <mappingresource="com/jinrun/domain/SysInfo.hbm.xml"/> <mappingresource="com/jinrun/domain/Product.hbm.xml"/> <mappingresource="com/jinrun/domain/Business.hbm.xml"/> <mappingresource="com/jinrun/domain/News.hbm.xml"/> <mappingresource="com/jinrun/domain/CompanyInfo.hbm.xml"/> <mappingresource="com/jinrun/domain/Employee.hbm.xml"/></session-factory></hibernate-configuration>Spring控制反转和事务管理注解: /**获取父类泛型类型***/ privateClassentityClass=GenericClass.getGenericClass(this.getClass()); @Resource(name="sessionFactory") publicvoidsetSessionFactoryDI(SessionFactorysessionFactory){ super.setSessionFactory(sessionFactory); } publicvoidsave(Tt){ this.getHibernateTemplate().save(t); } publicvoidupdate(Tentity){ this.getHibernateTemplate().update(entity); }}事务注解:@Service("newsService")@TransactionalpublicclassNewsServiceImplimplementsNewsService{ //事务注解 @Transactional(isolation=Isolation.DEFAULT,propagation=Propagation.REQUIRED,readOnly=false) publicvoidsave(Newsnews){ NewsdownNews=findDownIdIsNullById();}4网站前台设计和实现在这个章节将会介绍这次网站设计界面部分。《xx》前台是供游客浏览新闻、接触这个门户网站企业基础信息,查看最新设计产品,意见反馈及联络该网站等部分基础所需用途。一个网站前台设计首先应该是精美,令人舒适,其次突出企业宣传专题和精神理念。所以,前台设计应该是简明扼要、层次分明、条理清楚。下面将介绍“xx”前端部分实现。4.1首页设计首页为6个关键部分,导航栏平铺方法,简明清楚列出。图4-1所表示:图4-1网站首页展示图4-1展示了网站首页信息,导航栏左侧为一个企业logo标志。右边分别对应六项网站常见菜单。其下方为可更新,可自动切换宣传图片。首页能够展示出企业最新研发软件产品宣传,包含宣传图片和产品信息。4.2产品展示图4-2,产品展示,能够是以图片预览方法连续翻看产品信息,或可点击查看具体:图4-2产品展示4.3新闻中心图4-3,根据后台公布时间次序将最新更新新闻显示在最前,并显示时间和新闻标题:图4-3新闻中心4.4留言反馈界面展示图4-4联络我们界面:图4-4留言反馈界面表单校验注册页面校验:您姓名:不能为空;电子邮箱:不能为空;根据邮箱规则校验进行约束;电话:不能为空;数字约束;长度控制在7-15位;留言:不能为空;留言字符长度不能小于0;表单校验中,对于以上校验未经过,表单不予提交。这里部分校验是使用是validate动态验证来初步完成校验,用户体验效果很好。4.5其它界面展示图4-5企业年度优异职员界面:图4-5企业年度优异职员界面图4-6企业精神文化展示界面:图4-6企业精神文化展示界面5网站后台设计和实现网站后台设计是为管理员方便管理网站而设计,其中包含新闻中心、产品信息管理、网站信息维护、用户留言管理。5.1管理员登录后台管理员登录页面,登录成功后抵达后台主页。图5-1后台登录界面5.2后台主页管理员登录成功后,抵达主页。主页是框架页,由上、下组成,下部框架分为左右。图5-2后台主页界面上部显示标题和部分简单菜单,分别为:登录人员、目前系统时间、修改口令及退出系统;左部显示供管理员管理网站菜单,其中能够对网站对应模块实施增删改操作。右部默认显示管理员登录信息和部分温馨提醒,当点击左部链接后,内容全部将在右部做出显示。5.3新闻管理模块在新闻模块里管理编辑页面:图5-3添加新闻界面图5-4新闻编辑界面5.4产品管理模块在产品展示模块里产品页面:新闻列表页面:图5-5添加新闻界面新闻编辑页面:图5-6产品编辑界面在产品管理中,能够实施批量删除等操作。在编辑产品页面中,将会对产品名称及产品描述信息做出非空约束等。编辑或添加成功时,系统会有消息提醒。5.5网站信息管理模块图5-7网站信息修改界面5.6用户留言管理模块图5-8用户留言查看界面在用户留言管理模块中,能够实施批量删除、查看留言具体、查看留言网络方向起源等操作。5.7其它模块网站管理员页面:图5-9网站管理员界面修改管理员口令:图5-10修改管理员口令界面企业修改页面:图5-11企业信息管理界面6系统测试6.1测试要求一个模块功效改动是否会对另一个模块产生不利影响;下降子功效紧密程度,达成预期功效要求;测试全局数据结构是否存在问题;6.2测试用例设计以登录系统测试作为示例,设计测试用比如表6-1所表示:表6-1登入系统测试用例功效特征用户登录验证测试目标对输入信息进行健壮性判定测试数据用户名称:wgu密码:123序号描述输入信息期望实际结果结论1输入用户姓名,按“登陆”按钮。用户姓名:wgu,密码不填弹框提醒“用户名或密码有误!”弹框提醒“登录密码不能为空!”和预期一样2输入密码,按“登陆”按钮。用户姓名不填,密码:123显示警告信息“用户名或密码误!”弹框提醒“用户登录名称不能为空!”和预期一样3输入用户姓名和密码,按“登陆”按钮。用户姓名:1,密码:1显示警告信息“用户名或密码有误!”显示警告“用户名或密码错误”和预期一样4输入用户登录名和口令,点击“登陆”按钮。用户名:wgu,密码:123正确登入到系统管理员操作界面正确登入到系统管理员操作界面和预期一样6.3测试结论一开始写出代码调理很好,则测试轻易。测试时,应该有序系统测试来检测潜在故障,并进行定位。同时,问题是最轻易在边界这块地方发生,这能够经过手动或程序方法检验完成。自动检测是最理想,越多越好,因为机器不犯错误,不疲惫,而靠实际幻想轻易欺骗自己,逃避测试,就隐藏了错误。在测试过后,立即出现了新问题,也轻易排查,因为它应该是出现在新代码里。7结论在这次毕业课题实践过程当中,从最初课题构思到整站设计完成,其中关键功效模块全部已基础完成,包含科技产品展销功效,新闻公布和管理,留言意见接收和反馈,经营业务展示,网站信息更新和管理,企业基础信息管理和展示,在线咨询等功效。网站整体上设计给人觉比较简单清新舒适,视觉上不易产生疲惫,采取HTML5页面效果,令用户体验愈加好。导航中留言反馈菜单,展示了企业地理位置和基础联络信息,便于联络或查找时使用。这个模块在设计时提供了留言反馈功效,便于接收广大群众不一样意见和见解,方便改善产品质量、促进企业发展等问题。设计功效基础实现

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论