版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2020年4月19日网站设计与实现文档仅供参考,不当之处,请联系改正。 毕业论文(设计)XX网站设计与实现摘 要网络科学技术飞速发展,科技产品层出不穷,对于企业或公司,宣传自己的理念及推广所开发的产品是至关重要的。如果人们想要在更短的时间内,了解到更多有关科技产品的信息,一种比较便捷的方式便是经过网络来访问。xx网站设计,它将需求、产品销售与客户服务高度紧密的结合在一起,大大提高了效率,方便客户了解及订购合适的软件来提高工作效率,使得客户与企业能够轻松交互。网站以jsp作为前台的主要展示工具,使用MVC设计模式,按照工厂模式解耦,设计程序的底层使用Hibernate持久层框架。Spring容器
2、管理对象,Struts2结合jsp做前台展示,实现了产品发布与展示,新闻发布,企业精神理念展示,留言意见反馈,用户实时咨询,后台管理等功能。关键词:系统;电子商务;游戏开发;软件开发AbstractNetwork science and technology rapid development, science and technology products emerge in endlessly, for enterprise or company, promote their own ideas and development of products is vital.If people
3、want to be in a shorter period of time, to know more about information technology products, is a more convenient way to access through the network. Jinrun website design, it will demand product sales and customer service level closely unifies in together, greatly improving the efficiency, convenient
4、 customer to understand and order the right software to improve work efficiency, make customers interact with the companies can easily. Site with JSP as the front desk of the main display tool, using the MVC design pattern, according to the three layers of decoupling relationship.The underlying use
5、Hibernate persistence layer framework, the Spring container management object, struts 2 combined with JSP front-end display.Has realized the product distribution and display, press release, the concept of enterprise spirit, the message feedback, users real-time consultation, background management fu
6、nctions.Key words : System;Electronic commerce;The game development.Software development目 录TOC o 1-3 h u HYPERLINK l _Toc21896 1 引言 PAGEREF _Toc21896 1 HYPERLINK l _Toc26036 1.1 研究背景 PAGEREF _Toc26036 1 HYPERLINK l _Toc22643 1.2 研究意义 PAGEREF _Toc22643 2 HYPERLINK l _Toc19167 2 网站系统相关技术及工具介绍 PAGEREF
7、_Toc19167 3 HYPERLINK l _Toc13904 2.1 服务器Tomcat7.0简介 PAGEREF _Toc13904 3 HYPERLINK l _Toc975 2.2 JAVA语言 PAGEREF _Toc975 3 HYPERLINK l _Toc9232 2.3 MySQL PAGEREF _Toc9232 4 HYPERLINK l _Toc16513 2.4 Hibernate PAGEREF _Toc16513 4 HYPERLINK l _Toc27973 2.5 Spring框架 PAGEREF _Toc27973 5 HYPERLINK l _Toc1
8、3217 2.6 MVC开发模式介绍 PAGEREF _Toc13217 5 HYPERLINK l _Toc16837 3 需求分析及总体设计介绍 PAGEREF _Toc16837 7 HYPERLINK l _Toc24097 3.1 需求分析 PAGEREF _Toc24097 7 HYPERLINK l _Toc13669 3.2 项目架构 PAGEREF _Toc13669 8 HYPERLINK l _Toc26755 3.3 系统工作原理 PAGEREF _Toc26755 9 HYPERLINK l _Toc10903 3.4模型设计 PAGEREF _Toc10903 10
9、 HYPERLINK l _Toc32644 3.4.1控制层设计 PAGEREF _Toc32644 10 HYPERLINK l _Toc26352 3.4.2业务层设计 PAGEREF _Toc26352 11 HYPERLINK l _Toc5895 3.4.3工具类设计 PAGEREF _Toc5895 16 HYPERLINK l _Toc18653 3.4.4持久层设计 PAGEREF _Toc18653 18 HYPERLINK l _Toc19828 4 网站的前台设计与实现 PAGEREF _Toc19828 20 HYPERLINK l _Toc4121 4.1 首页设计
10、 PAGEREF _Toc4121 20 HYPERLINK l _Toc15071 4.2 产品展示 PAGEREF _Toc15071 21 HYPERLINK l _Toc30360 4.3新闻中心 PAGEREF _Toc30360 21 HYPERLINK l _Toc4800 4.4 留言反馈界面展示 PAGEREF _Toc4800 22 HYPERLINK l _Toc1538 4.5 其它界面展示 PAGEREF _Toc1538 23 HYPERLINK l _Toc29691 5 网站的后台设计与实现 PAGEREF _Toc29691 25 HYPERLINK l _T
11、oc13826 5.1 管理员登录 PAGEREF _Toc13826 25 HYPERLINK l _Toc25221 5.2 后台主页 PAGEREF _Toc25221 25 HYPERLINK l _Toc487 5.3 新闻管理模块 PAGEREF _Toc487 26 HYPERLINK l _Toc32498 5.4 产品管理模块 PAGEREF _Toc32498 27 HYPERLINK l _Toc22634 5.5 网站信息管理模块 PAGEREF _Toc22634 28 HYPERLINK l _Toc29612 5.6 用户留言管理模块 PAGEREF _Toc29
12、612 28 HYPERLINK l _Toc7834 5.7 其它模块 PAGEREF _Toc7834 29 HYPERLINK l _Toc3235 6 系统测试 PAGEREF _Toc3235 30 HYPERLINK l _Toc1854 6.1 测试要求 PAGEREF _Toc1854 30 HYPERLINK l _Toc21940 6.2 测试用例设计 PAGEREF _Toc21940 30 HYPERLINK l _Toc18991 6.3 测试结论 PAGEREF _Toc18991 30 HYPERLINK l _Toc15644 7 结论 PAGEREF _Toc
13、15644 31 HYPERLINK l _Toc25450 谢辞 PAGEREF _Toc25450 32 HYPERLINK l _Toc25265 参考文献 PAGEREF _Toc25265 33XX网站设计与实现1 引 言1.1 研究背景当前,网络的发展趋势已经商业化和全民普及趋势。世界上大部分的公司企业都是以营利为首要目的。在宣传推广上,就显得尤为重要。使用有效的广告能够为我们带来高效益,比如在企业宣传,招聘员工信息发布,网上销售等方面,网络给我们带来了许多方便。现在的网络俨然已经成为了企业竞争的重要战略手段。网站的优势源于能够为企业提供一个舞台来展示自己、另一个好处体现在能为消费
14、者更加便捷的提供一个了解企业的途径。公司或企业能够经过网络平台,实时的提供在线客服以供咨询。利用网络推广和宣传企业产品、实时的发布一些要闻,顾客的需求建议也能够经过留言信息及时的反馈给企业网站的工作人员。网络的普及,使得计算机走进了千家万户,社会各层人士获得了平等接触实时信息的机会。利用这股发展趋势,各大企业在管理和销售上都能使用到软件领域的工具来进行便捷销售,便捷办公,解放一定的劳动力。利用网站推广产品,推进行业发展,促进产品销售是一个很好的方案,新的促销形式,与传统相比有许多优点:它降低产品成本;利用网络作为交互平台;改变传统的人与人直接碰面交谈的方式,能够降低交互交谈时受空间和时间的限制
15、;信息的传递及发布更新更加迅速灵活,新的技术产品信息上传后,能够立即得到推广和发现,客户能够立即看到,对于满意的产品,能够直接与客服人员交谈,从而大大提高了效率。网站的主要功能是利用网站作为公司企业产品的展示平台,将最新产品的一些基本信息以及相关新闻、公司当前概况等信息以网站的形式发布到网络上,以供人们观看与借鉴。本次的毕业设计课题是基于JSP设计的企业网站系统,它的产生背景源于武夷山市企业信息化建设。此设计更具实际研究意义,目的是综合所学知识和利用身边的网络资源,锻炼动手实践能力,有利于提高综合学习能力。顺利完成设计课题的前提条件还需要很多课外知识的补充,如MVC开发模式,当前流行的J2EE
16、框架,对XML等配置文件的书写有一定的了解等等。1.2 研究意义信息化技术飞速发展,科学技术一日千里,这推快了人们的生活节奏。时间变得更加宝贵。任何产品需要很好的被使用,其知名度就至关重要。人们生活中更多接触的便是电视、电脑、手机这些科技产品。那么对于软件领域研发出来的科技产品,企业应该如何对其推广宣传和销售。源于这一思考,设想如果各大企业公司能纷纷建立起属于自己的企业网站,将最新的产品和新闻实时的发布更新,那么去推广一个网站相对来讲更加的省时省力,这是提高效率的有效途径。企业建立网站,这样能够很好的对外展示企业文化,是企业实力的一种体现方式。今天,各行各业的竞争日趋激烈,每个企业所面临的主要
17、任务是提高工作效率和工作质量。企业网站的建立能够大量降低人力资源方面的成本付出,突破了时间和空间的限制,客户对产品的详细了解能够在任何时间和地点进行,能够即时的进行。有了展销产品的网站平台,客户就不需要到实地去查询产品详情,能够借助网络平台联系销售员,经过远程体验,大大便捷了交易所带来的时间问题。鉴于互联网的诸多优势以及对国内外软件产品的销售现状的研究分析,我此次的设计是开发一个集成了发布产品、发布新闻、服务咨询等功能于一体的企业网站,以微小的力量推动中国互联网的发展。2 网站系统相关技术及工具介绍2.1 服务器Tomcat7.0简介Tomcat由开源社区研究开发,对编程兴趣人员能够自由对To
18、mcat服务器进行学习和研究。因为它的免费和开源的这些特性。Tomcat得到了极大的推广,而且经过开源社区的贡献,它的性能也更加强大,趋于完善。Tomcat是纯粹的由java代码编写。它以小型、轻量级Web服务器的特点被广泛的推广运用并受人喜爱。在个人的电脑上安装上服务器软件,个人的PC电脑自然就成为了一个初具模型服务器,在中小型系统和并发访问量不多的情况下能够被普遍地使用。在配置好Tomcat服务器的电脑上,这样Tomcat就能够对HTML页面等用户发出的访问请求进行响应1。我们将web应用程序部署到Tomcat服务器中,就能够实现在本地进行web应用程序的调试运行。2.2 JAVA语言Ja
19、va以其面向对象的优势和安卓市场被广大人群深知。由于Java被很流行的推出,同时拥有世界上最大的开源社区正在迅速发展,对c+语言已经形成了强大的冲击。Java能够解决一些复杂的逻辑问题,将问题转化为面向对象的思想去解决。Java语言的由杰姆斯高斯林和她的同事共同开发,工程正式启动于1995年。后期更名为Java,而且重新设计开发的互联网应用。由Java编写出的源代码,经虚拟机的类加载器编译成字节码文件后,能够运行在不同的平台上。这样就脱离了java的运行环境,只需要编译过一次,就能够到处运行2。Java有一个用户友好,贴近现实生活的语法。这样的语言具备着独特的优势,拥有面向对象的概念,稳定性,
20、和平台独立性,安全性,稳定性和支持多线程,动态等优良特性。因为Java多的线程特性,处理器在不同的线程间快速切换。相比其它语言,如C+没有内置的多线程机制,因此C+的多线程就必须调用操作系统的多线程功能来进行多线程程序的设计。Java在软件的编程语言设计中,不单能够应用于开发大型的应用程序,而且在Internet的应用开发方面也较为突出。Java不但是一门现在大家大量使用的编程语言,就现在所知道的IT行业很多最新的技术都涉及了java语言,java早已经被大家公认为当今世上最重要的语言之一3。2.3 MySQL就当前的数据分类来看,MySQL的规模能够将其划分到中型数据库,它是由瑞典研发人员所
21、研发,当前已经属于Oracle公司。MySQL是最流行的关系数据库管理系统,MySQL在诸多的Web应用程序中是最好的关系数据库管理系统4。MySQL的特点就是高效灵活,它的工作原理是将数据保存一张张的表中,数据整体存放合理,结构优良。MySQL使用标准的结构化查询语言、其软件体积小、反应速度快、成本低、开源,由于这些优势,特别是小型和中型网站的应用开发一般是以MySQL为首选。MySQL的底层应用语言以C和C+为主,使用了多种编译器对其进行测试和不断改进,在移植性方面,mysql的表现较为突出。多种操作系统对mysql都支持,像通俗常见的就有:Linux、Mac OS、Windows等操作系
22、统。它还为为多种编程语言提供了API的支持。例如Java、C+、C和Tcl等,MySQL与这边编程都能完美融合。另外MySQL对多线程处理方面也有一些优势,这样就能使得服务器的CPU资源能够被充分的利用起来。因为MySQL提供的标准结构化查询语言、提供ODBC和JDBC等连接数据库的方法,使其更加便于管理、检查,在优化数据库操作方面也更加便捷5。2.4 HibernateHibernate的优点:对JDBC的封装,简化了许多重复的代码。对DAO层编码工作进行了简化,使开发能够集中精力关心业务逻辑。移植性好,它支持多种数据库,这样更换数据库时代码的改变量就比较少。该框架没有实现任何接口,没有侵入
23、性。是一个轻量级框架。Hibernate延迟加载:延迟加载的特点是当一个对象或对象的属性查询时,该对象或属性暂时不存在内存中,只有当程序真正使用到数据时,该数据才被加载到内存中6。优化Hibernate:1、在一对多的关联关系中,应该从多的一方维护。2、避免使用一对一,尽量使用多对一关联关系。3、配置对象缓存,减少使用集合缓存。4、减少表字段,表关联不要怕多,二级缓存撑腰。Hibernate因为其简单的学习成本,功能完备而且运行高效,受到开发人员的喜爱。使用Hibernate自带的查询语言HQL,能够使数据库操作方面更加得心应手,解决很多开发上常见的对数据库操作的一系列繁琐问题,使程序员能够专
24、注于解决业务逻辑的问题7。2.5 Spring框架Spring是一个轻量级容器,默认的许多服务是不自动打开的,需要手动配置来将其打开。学习Spring框架的两个关键:IOC和AOP。内部核心是一个Bean工厂(Bean Factory),它提供和实现控制反转和依赖注入。另外Spring容器用于申明式的事务,安全等服务应用8。Spring能够与当前流行框架的集成,应用范围广泛,能够是B/S或者C/S9。本网站系统采用注释的方式来管理事务。从三层结构来看,Web层的Struts2框架和Dao层的Hibernate框架都与其进行整合。Spring的强大管理及代理等方式,使任何Java应用都能够从Sp
25、ring中受益10。其结构如图2-1所示:图2-1 Spring结构 2.6 MVC开发模式介绍MVC是企业级应用的开发中常见的设计模式。它把项目架构进行分层设计,分为表现层、业务逻辑层、数据访问层。MVC即代表模型视图控制器。模型(Model)即为一些常见的实体类,(如Person类实体),实体类主要用于封装数据。视图(View),一般用作数据的显示。在J2EE中视图由jsp负责显示。控制器(Controller),用于协调M和V的关系,也用作解决业务逻辑,在Struts2中就是Action类11。1、模型模型一般表示数据的封装。在三层架构中,模型拥有较多的处理任务。模型能为视图提供数据支持
26、。因为模型的代码能够被多个视图重复使用,这样能够减少代码的重复性书写12。2、视图视图提供给用户使用,而且能够与之交互的界面。在Web应用初期,界面主要是由HTML做出简单的显示,然而,在现在的网络技术发展下,一些新技术的出现,如XHTML,XMLXSL,WML这些标记语言和Web服务。MVC应用程序能够处理许多不同的返回结果视图13。3、控制器当用户请求数据,控制器做出响应处理,最终将数据进行封装,再交给jsp做显示。因此当你点击在JSP互动环节时,控制器接收组件的要求和决策模型的呼叫建立负责处理传入的请求,然后封装的数据,确定该视图显示界面14。3 需求分析及总体设计介绍3.1 需求分析x
27、x模型是典型网上产品展销实践中较为普遍的商务企业B/S模式,其主要功能模块包括产品发布、新闻管理、留言反馈、业务咨询等基本功能。另外,此网站也将实现企业网站系统的后台管理,其中包括新增产品的添加与修改信息、新闻的相关处理功能等。本系统的Web层框架,是基于当前流行的SSH,前台采用JSP技术作为显示和交互,在网站的设计与开发过程中,利用软件设计模式,做到尽量削减体系功能模块间的耦合。本网站系统前后台的功能关系,如图3-1所示:图3-1 系统功能分析 前台(游客浏览)部分:企业文化展示:显示企业精神理念,公司福利待遇等信息;经营业务展示:显示企业经营范围内业务项目;新闻显示:按最新更新展示新闻条
28、目及详细;产品显示:经过预览图片或产看详细的方式查看产品的详细信息;留言反馈:经过表单的填写提交对此网站以及产品的建议或意见。后台(管理员管理)部分:管理员:管理员登录;新闻管理:分页查看所有新闻,对新闻进行编辑、批量删除、添加新闻操作;产品管理:按更新时间顺序添加新产品、查看产品详细信息、编辑产品、删除产品信息;网站基本信息管理:更新网站基本信息,企业理念精神及公司福利,地址和联系信息;3.2 项目架构 图3-2 项目架构 如图3-2所示,左边是项目工程的三层架构。Dao层及其接口实现类,这两个包中的类协调负责对数据库中的数据进行存取操作。而domain包下存放的是实体类,主要是为了对数据进
29、行封装和携带数据。Service及其实现类在三层架构中主要是针对业务逻辑进行编写的类。Beans.xml、Hibernate.cfg.xml与struts.xml这三个配置文件则是对应SSH框架。而perties则是此web应用程序中用到的一个自定义配置文件。右边的是根目录结构,其下是JSP页面的存放和样式控制文件等,例如CSS、js文件等。本次的项目设计遵循MVC设计模式,利用Spring容器巧妙的创立和管理类,遵循工厂设计模式对类进行解耦,按照三层架构进行设计和实现,层与层之间类的功能明确,整体结构清晰,便于调试和管理。3.3 系统工作原理基于web的网站系统是用户经过浏览器发送请求,根据
30、HTTP协议,Tomcat服务器接收到用请求后,将根据配置文件为其分配是由哪种Servlet来处理。如果是访问以.do结尾的URL地址,就交由Struts2来处理,Struts2将根据配置文件为其分配相应的Action来处理请求。Action类中对应的方法将调用相应的业务类方法去完成请求,由业务类调用dao方法来完成对数据库的存取和访问。如图3-3所示:Spring将三层中所有的类的创立管理起来,包括控制层,业务层的实现类和DAO层中的类。图3-3 工作原理3.4模型设计3.4.1控制层设计在SSH框架组合下,控制层的代码由struts2的Action来充当,根据请求信息调用指定action类
31、中的方法来进行请求处理,以及返回对应的结果视图,由jsp将数据作为展示给用户。命名空间以/sys标记的为后台的包,以/cli标记的对应前台,一般由网络上的游客随机访问。在两大类对应的包名下有对应前台和后台模块的诸多Action类,代码如下:Struts2中的前台配置: /WEB-INF/client/index.jsp /WEB-INF/client/business.jsp /WEB-INF/client/product.jsp /WEB-INF/client/promore.jsp /WEB-INF/client/news.jsp /WEB-INF/client/fullText.jsp
32、3.4.2业务层设计业务层由Struts2的action类和一些实体类配合使用,主要是针对业务逻辑与数据封装,数据携带这些请求进行处理,然后返回结果视图,供页面做显示。业务层的处理内容包含:企业软件产品的增删改查功能、新闻模块的显示功能、留言与意见反馈功能、客服在线咨询等。软件产品业务设计,灵感来自于一些企业的门户网站,其思路是:产品罗列,能够对产品的详细信息查看,在产品的查看过程中能够即时的联系客服人员订购咨询或了解详情。下面是产品业务类实现的部分代码:/ 后台-显示产品列表public String list() QueryBuilder queryBuilder = new QueryB
33、uilder(Product.class);queryBuilder.addOrderProperty(updateTime, true);PageView pageView = productService.getPageView(queryBuilder, getPage Num(request);request.setAttribute(Products, pageView);return list;/ 后台-添加产品public String add() String suffix = null;try suffix = product.getPicFileName().substri
34、ng(product.getPicFileName().lastIndexOf(.);if (!.jpg.equalsIgnoreCase(suffix) this.addFieldError(msg, 格式错误);return addUI; catch (Exception e) this.addFieldError(msg, 请选择产品图片);return addUI;/ 文件上传if (product.getPicFileName() != null) String tmpFileName = product.getPicFileName().substring(product.getP
35、icFileName().lastIndexOf(/) + 1);String UUIDName = UUIDUitls.getUUID() + suffix;String savedPath = ServletActionContext.getServletContext().getRealPath(uploads);File savedFile = new File(savedPath, UUIDName);if (product.getPic() = null) this.addFieldError(warn, 请选择图片);return addUI;product.getPic().r
36、enameTo(savedFile);/ 添加记录到数据库product.setNewName(UUIDName);product.setOglName(tmpFileName);product.setUpdateTime(new Date();productBiz.save(pro);request.setAttribute(msg, 提示:上传成功);return addUI;留言反馈处理:首先对想要留言的用户进行姓名规则校验、电话号码校验、邮箱规则校验,校验不经过的(包含空)将不提交页面,当非空等检测经过之后,就提交表单,这样就能够从数据库中查看到经过检测的用户留言,能够避免大量的垃圾留
37、言。新闻展示业务:包括新闻条目,新闻的发布时间按照更新的时间排序,经过分页对新闻进行显示。新闻模块的功能实现,是从数据库按页查出当前显示页的新闻页集合信息,用list集合封装,然后借助ognl对其进行迭代操作并显示。而在前台页面的分页功能实现,则是由Action去获取每页的大小数和所查看数据的当前页码,动态的拼凑hql语句,每次去数据库询出指定页码的记录条数,进行封装到page实体,再将多个page实体封装成list集合,完成查询后将返回结果给页面进行迭代显示。下面为新闻模块的部分代码:/ 新闻列表public String listNews() QueryBuilder queryBuild
38、er = new QueryBuilder(News.class);queryBuilder.addOrderProperty(record, false);PageView pageView = newsService.getPageView(queryBuilder, getPageNum(request);request.setAttribute(news, pageView);return listNews;/ 批量删除新闻public String del() / 获取idsString sids = request.getParameterValues(News_ids);Inte
39、ger ids = DataType.converterStringArray2IntegerArray(sids);if (ids != null) / 删除newsService.deleteSysProductsByIds(ids);return listAction;return null;/ 发布新闻public String addNews() / 非空判断titleif (StringUtils.isBlank(news.getTitle() this.addFieldError(msg, 请填写文章标题);return addNewsUI;/ 如果是事纪年份不能为空String
40、 suffix = 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 =
41、 news.getPicFileName().substring(news.getPicFileName().lastIndexOf(.);if (!.jpg.equalsIgnoreCase(suffix) this.addFieldError(msg, 格式错误);return addNewsUI; catch (Exception e) this.addFieldError(msg, 请选择图片);return addNewsUI;/ 新闻发布者-验空if (StringUtils.isBlank(news.getName() this.addFieldError(msg, 请填写您的身
42、份);return addNewsUI;/ 新闻内容-验空if (StringUtils.isBlank(news.getContent() this.addFieldError(msg, 请填写文章内容);return addNewsUI;/ 1根据remark判断新闻还是事纪if (News.EVENTS_VALUE.equals(news.getRemark() / 设置年份 -String temp = news.getYear().substring(0, 4);news.setYear(temp + ); / 2设置新闻发布时间,截取news.setPostTime(new Dat
43、e();/ 3.新闻摘要截取if (news.getContent().length() 100) news.setDigest(news.getContent().substring(0, 99);/ 4.设置新闻图片上传信息图片上传if (StringUtils.isNotBlank(news.getPicFileName() / System.out.println(picForm.getPicFileName();String tmpFileName = news.getPicFileName().substring(news.getPicFileName().lastIndexOf(
44、/) + 1);String UUIDName = UUIDUitls.getUUID() + suffix;String savedPath = ServletActionContext.getServletContext().getRealPath(uploads);System.out.println(-新闻添加- + savedPath);File savedFile = new File(savedPath, UUIDName);/ 新闻必须要有图、事纪图片可有可无以下判断不需要if (news.getPic() = null) this.addFieldError(warn, 请选
45、择图片);return addNewsUI;news.getPic().renameTo(savedFile);/ 添加记录到数据库news.setNewName(UUIDName);news.setOglName(tmpFileName);/ 4.其它信息保存newsService.save(news);request.setAttribute(msg, 提示:文章发布成功);return addNewsUI;3.4.3工具类设计当设计的程序在调用过程中将重复性的调用一些方法或需要便捷的提供调用时,这时候就需要将其抽取出来,封装成单独的工具。这样就能够与业务无关而能够在任意的层被单独使用。在
46、此次设计中的工具类方法有:CheckPrivalegeInterceptor.java类用于检测后台操作时,管理员是否是登录状态的检测。DataType.java用于对web前台所获取到的数据参数进行类型转换。MD5keyBean.java则是用于对字符串进行加密使用,一般是对其成数据指纹摘要,是一串32位的明文密码。而SessionUtils.java是针对登录用户能够设置服务器session的存活时间或者退出系统时将user从session中移除出去。UUIDUtil.java用于生成全球唯一id号。代码示例:DataType.javapublic class DataType publi
47、c static Integer converterStringArray2IntegerArray(String sids) if (sids != null & sids.length 0) Integer ids = new Integersids.length;for (int i = 0; i ids.length; i+) if (StringUtils.isNotBlank(sidsi) idsi = Integer.parseInt(sidsi);return ids;return null;public static Integer Str2Integer(String id
48、)if (StringUtils.isNotBlank(id) return Integer.parseInt(id);return null;public static String Integer2Str(Integer id)if (id!=null) return id.toString();return null;SessionUtils.javapublic class SessionUtils public static void setSysUserToSession(HttpServletRequest request,User user) HttpSession sessi
49、on=request.getSession();if(user=null)return;session.setAttribute(user, user);public static User getSysUserFormSession(HttpServletRequest request) HttpSession session=request.getSession(false); if(session=null) return null; User user=(User)session.getAttribute(user); return user;3.4.4持久层设计为了解决并发访问带来的
50、问题,此次设计选用以c3p0数据源为其设计数据库连接池。由每一个实体类对应一张表,利用Hibernate的持久化,懒加载,缓存等特性对数据进行保存、更新和频繁的查找操作。从Struts2的Action的创立、Service类和Dao对象的创立,使用了当前流行的工厂模式,三层架构中每一个层的类都对其进行抽取接口,而且使用注解加配置文件相结合,由Spring容器代为管理对象的生命周期,灵活搭配,整个项目工程看起来结构清晰。事务的控制,同样是采用注解的方式,这样的设计结构一目了然,便于后期系统的维护和升级15。下面是代码的部分示例:Hibernate配置文件中的映射:Spring控制反转和事务管理注
51、解:/*获取父类的泛型类型*/private Class entityClass=GenericClass.getGenericClass(this.getClass();Resource(name=sessionFactory)public void setSessionFactoryDI(SessionFactory sessionFactory) super.setSessionFactory(sessionFactory);public void save(T t) this.getHibernateTemplate().save(t);public void update(T ent
52、ity) this.getHibernateTemplate().update(entity);事务注解:Service(newsService)Transactionalpublic class NewsServiceImpl implements NewsService / 事务注解Transactional(isolation = Isolation.DEFAULT, propagation = Propagation.REQUIRED, readOnly = false)public void save(News news) News downNews = findDownIdIsNu
53、llById();4 网站的前台设计与实现在这个章节将会介绍这次网站设计的界面部分。xx的前台是供游客浏览新闻、接触这个门户网站企业的基本信息,查看最新设计产品,意见反馈及联系该网站等一些基本所需用途。一个网站的前台的设计首先应该是精美,令人舒适,其次突出企业的宣传主题和精神理念。因此,前台的设计应当是简明扼要、层次分明、条理清晰。下面将介绍“xx”的前端部分的实现。4.1 首页设计首页为6个主要部分,导航栏平铺的方式,简明清晰的列出。如图4-1所示:图4-1 网站首页展示图4-1展示了网站的首页信息,导航栏的左侧为一个企业的logo标志。右边分别对应六项网站常见的菜单。其下方为可更新,可自动
54、切换的宣传图片。首页能够展示出公司最新研发的软件产品宣传,包括宣传图片和产品信息。4.2 产品展示图4-2,产品的展示,能够是以图片预览的方式连续翻看产品信息,或可点击查看详细:图4-2 产品展示4.3新闻中心图4-3,按照后台的发布时间顺序将最新更新的新闻显示在最前,并显示时间和新闻标题:图4-3 新闻中心4.4 留言反馈界面展示图4-4联系我们界面:图4-4 留言反馈界面表单校验注册页面校验:您的姓名:不能为空;电子邮箱:不能为空;按照邮箱的规则校验进行约束;电话:不能为空;数字约束;长度控制在7-15位;留言:不能为空;留言的字符长度不能小于0;表单校验中,对于以上校验未经过的,表单不予
55、提交。这里的部分校验是使用的是validate动态验证来初步完成校验,用户体验效果较好。4.5 其它界面展示图4-5企业年度优秀员工界面:图4-5 企业年度优秀员工界面图4-6企业精神文化展示界面: 图4-6 企业精神文化展示界面5 网站的后台设计与实现网站的后台设计是为管理员方便管理网站而设计的,其中包括新闻中心、产品信息管理、网站信息维护、用户留言管理。5.1 管理员登录后台管理员登录页面,登录成功后到达后台主页。图5-1 后台登录界面5.2 后台主页管理员登录成功后,到达主页。主页是框架页,由上、下构成,下部框架分为左右。图5-2 后台主页界面上部显示标题和部分简单菜单,分别为:登录人员
56、、当前系统时间、修改口令及退出系统;左部显示供管理员管理网站的菜单,其中能够对网站相应模块执行增删改操作。右部默认显示管理员的登录信息和一些温馨提示,当点击左部链接后,内容都将在右部做出显示。5.3 新闻管理模块在新闻模块里的管理编辑页面:图5-3 添加新闻界面图5-4 新闻编辑界面5.4 产品管理模块在产品展示模块里的产品页面:新闻列表页面:图5-5 添加新闻界面新闻编辑页面:图5-6 产品编辑界面在产品的管理中,能够执行批量删除等操作。在编辑产品的页面中,将会对产品的名称及产品的描述信息做出非空约束等。编辑或添加成功时,系统会有消息提示。5.5 网站信息管理模块图5-7 网站信息修改界面5
57、.6 用户留言管理模块图5-8 用户留言查看界面在用户留言管理模块中,能够执行批量删除、查看留言详细、查看留言的网络方向来源等操作。5.7 其它模块网站管理员页面:图5-9 网站管理员界面修改管理员口令:图5-10 修改管理员口令界面公司修改页面:图5-11 企业信息管理界面6 系统测试6.1 测试要求一个模块的功能的改动是否会对另一个模块产生不利的影响;下降的子功能紧密程度,达到预期的功能要求;测试全局数据结构是否存在问题;6.2 测试用例设计以登录系统测试作为示例,设计测试用例如表6-1所示:表6-1登入系统测试用例功能特性用户登录验证测试目的对输入信息进行健壮性判断测试数据用户名称:wg
58、u 密码:123序号描述输入信息期望实际结果结论1输入用户姓名,按“登陆”按钮。用户姓名:wgu,密码不填弹框提示“用户名或密码有误!”弹框提示“登录的密码不能为空!”和预期的一样2输入密码,按“登陆”按钮。用户姓名不填,密码:123显示警告信息“用户名或密码误!”弹框提示“用户登录名称不能为空!”和预期的一样3输入用户姓名和密码,按“登陆”按钮。用户姓名:1,密 码:1显示警告信息“用户名或密码有误!”显示警告“用户名或密码错误”和预期的一样4输入用户登录名和口令,点击“登陆”按钮。用户名:wgu,密 码:123正确登入到系统管理员操作界面正确登入到系统管理员操作界面和预期的一样6.3 测试
59、结论一开始写出的代码调理较好,则测试容易。测试时,应当有序的系统测试来检测潜在的故障,并进行定位。同时,问题是最容易在边界这块地方发生,这能够经过手动或程序的方式检查完成。自动检测是最理想的,越多越好,因为机器不犯错误,不疲劳,而靠实际幻想容易欺骗自己,逃避测试,就隐藏了错误。在测试过后,及时出现了新的问题,也容易排查,因为它应该是出现在新的代码里。7 结论在这次毕业课题实践过程当中,从最初课题构思到整站的设计完成,其中主要的功能模块都已基本完成,包括科技产品的展销功能,新闻发布与管理,留言意见接收与反馈,经营业务展示,网站信息更新与管理,企业基本信息的管理与展示,在线咨询等功能。网站整体上的
60、设计给人的觉比较简单清新舒适,视觉上不易产生疲劳,采用HTML5的页面效果,令用户体验更好。导航中的留言反馈菜单,展示了企业的地理位置和基本的联系信息,便于联系或查找时使用。这个模块在设计时提供了留言的反馈功能,便于接收广大群众的不同意见和看法,以便改进产品质量、促进企业发展等问题。设计功能基本实现,可是在设计上有一些细枝末节在当初设计的时候还是没有考虑到位。比如页面的图片素材选取没有经过细致处理,因此一些色彩上感觉跟设计风格没有协调一致。超链接在设计的时候没有考虑到适时的打开一个新窗口,只是在进入后台的时候设计了这个细节。前台的界面风格在不断的调试与更改的情况下,导致菜单栏导航处的样式出现细
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农贸市场营销方案(5篇)
- 异构系统状态估计-洞察分析
- 药物毒理学研究-洞察分析
- 云计算环境下的资产策略-洞察分析
- 单招面试自我介绍(14篇)
- 网络音乐平台品牌建设-洞察分析
- 企业中如何实施高效且富有创意的安全教育方案
- 《登快阁黄庭坚》课件
- 顾问劳动合同三篇
- 亲子共读增进沟通的良方
- 2023-2024学年山东省威海市小学数学三年级下册期末评估试卷
- 卫生部手术分级目录(2023年1月份修订)
- GB/T 1096-2003普通型平键
- 新版2023设计收费标准
- 房屋维修标书
- 【精编版】新概念英语第三册知识点笔记 讲义
- 建筑施工作业人员体检表格
- 《国际贸易理论、政策与实务》ppt课件完整版
- 石方静态爆破方案
- 彩色简约鱼骨图PPT图表模板
- 道路旅客运输企业实现安全生产方针与目标的保障措施
评论
0/150
提交评论