版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
公司网站管理系统毕业设计论文【摘要】企业要在激烈的市场竞争中立于不败之地,就必须找到一种全新的管理模式,对其内部和外部资源进行整合。企业网站作为其推广自身的形象、品牌、文化和产品的手段,让世界更直观的了解企业。本论文所研究的是如何开发一个界面美观、功能全面的基于JSP+MySQL的公司网站管理系统,包括系统的开发技术,开发工具,总体设计,以及系统的测试。【关键词】企业网站;JSP;MySQL目录1前言 41.1设计背景 41.2系统开发目的 42可行性分析 42.1技术可行性 42.1.1Java的发展及特点 42.1.2JSP简介 42.1.3SSH框架简介 52.1.4MySQL简介 53系统模块总体设计 63.1前台模块设计 63.2后台模块设计 63.3后台数据流图 63.4数据库设计 73.4.1数据库的E-R图设计 73.4.2数据库表的设计 104系统模块详细设计与代码分析 124.1前台模块设计 124.1.1首页 134.1.2新闻中心模块 134.1.3留言簿模块 154.2后台模块设计 164.2.1登陆界面 164.2.2后台管理主界面 164.2.3新闻中心模块 174.2.4部门管理 184.2.5业务管理 184.2.6消息列表 184.2.7网站管理员 194.2.8职务 194.2.9角色管理 195开发过程中遇到的问题 205.1遇到的问题与解决 206系统测试以及软件安装 216.1系统测试 216.2系统测试的对象和目的 216.3部分模块测试 216.4测试报告 246.5软件安装 246.5.1JDK的安装 246.5.2TOMCAT的安装 246.5.3MySQL的安装 247致谢 248.参考文献 251前言1.1设计背景不可否认,现今我们正步入互联网时代。故而企业借助互联网展示自身形象,发布产品信息,做好客户服务已经成为业界共识,亦成为企业发展不可或缺的步骤之一。同时企业通过互联网引进先进管理技术,丰富管理模式,倡导管理层与员工的互动交流的透明管理模式,以提高企业管理效率和水平;企业通过互联网寻求产品销售新渠道,寻求更多的商业机会。对于这些,相信只要能够很好的利用互联网,企业必将受益匪浅。企业网站的建设,使企业能够通过网络和客户更好的交流,拉近企业和客户的距离,掌握大量的客户反馈信息,并及时作出企业内部调整方案,以满足客户不断增长的需求。企业网站的建设和管理水平,直接影响企业的网络形象,拥有一个设计美观、功能全面的门户型网站,已经成为企业网络化建设的一个重要课题。因此设计公司网站管理系统,以整合公司实际情况,建设高效且技术统一的管理平台,成为势在必行的上网策略。1.2系统开发目的对于一个企业而言,企业的品牌形象至关重要,一个企业的形象,往往是其产品赢取消费者的主要因素。以往,一个企业通过报纸、电视等媒介宣传来建立自己的品牌形象。现在通过建立网站,企业形象的宣传不仅局限在当地市场,而是通过全球范围的宣传。企业信息的实习传递,与公众相互沟通的及时性,互动性,弥补了传统手段的单一性和不可预见性。因此,建立网站是对企业形象的建立和维持的补充。而公司网站管理系统正是可以对网站进行良好维护的系统,故而设计公司网站管理系统。2可行性分析2.1技术可行性2.1.1Java的发展及特点Java语言诞生于1991年,由Sun公司研制。到1994年,Sun的两个开发成员开发了HotJava,又称WebRuuner(Web图形浏览器),即我们现在所使用的浏览器的前身。Java具有平台无关,安全性,面向对象以及多线程等特性。Java取消了指针,并提供自动内存回收机制,让开发更加简单。[[][]安思博.基于WEB的小区物业管理系统设计与实现[D].复旦大学,20.2JSP简介Jsp是Sun和许多公司一起开发的Java服务器页面的缩写,并在1999年推出的Web服务设计标准之一,Jsp是JavaServlet以及整个Java体系的Web开发技术的集合,利用Jsp可以建立安全、跨平台的先进动态网站。HTML代码和嵌入其中的Java代码可组成一个Jsp页面。客户端请求页面时,服务器编译Java代码,并生成HTML页面回送给客户端浏览器。JSP技术基于JavaServlet,而且只有JavaServlet和JSP配合才能完成大型的Web应用程序的开发。JSP包含了Java技术的易学易用,面向对象,安全可靠,可移植性且主要面向因特网等特点。Jsp技术的优势:(1)可移植性。在这一点上Jsp比PHP更出色,Jsp基本上可以在Windows,Linux等已有的系统下运行。(2)支持多平台系统。Jsp可以在Windows,Linux等已知的任意环境中开发并部署和扩展。(3)可伸展性。运行Servlet/JSP可以只靠一个小的Jar文件,也可以由多台服务器集群和负载均衡,甚至到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java展示了自己强大的能力。(4)开发工具完善且多样。Java拥有许多优秀且免费的开发工具,且能运行在各种系统上。Jsp技术的弱势:为了跨平台特性,JAVA 的开发效率较低。(2)Java通过class常驻内存来提供运行效率,所以有时所需的内存对用户来说是低性价比的。并且,版本文件还要一些空间来存放。2.1.3SSH框架简介SSH是Struts,Spring,Hibernate集成的运用很广泛的JAVAWeb开源框架。StrutsStruts是Apache软件基金会(ASF)赞助的一个开源项目。它最初是jakarta项目中的一个子项目,并在2004年3月成为ASF的顶级项目。它通过采用JavaServlet/JSP技术,实现了基于JavaEEWeb应用的MVC设计模式的应用框架,是MVC经典设计模式中的一个经典产品。[[]樊红斌.商业银行信贷管理信息系统的设计与实现[D].厦门大学,2012]MVC是Model-View-Controller的缩写,一种常用的设计模式。MVC解耦了业务逻辑接口和数据接口,让视图层更多样化。Struts将Servlet和JSP标记(属于J2EE规范)用作实现MVC的一部分。Struts基于J2EE[]樊红斌.商业银行信贷管理信息系统的设计与实现[D].厦门大学,2012[]王斌.银行人力资源管理系统的设计与实现[D].南开大学,2011SpringSpring框架由RodJohnson开发,2003年发布了Spring框架的第一个版本。解决企业应用开发的复杂性是其被开发的目的。Spring通过JavaBean来完成本只有EJB能完成的功能。然而从简单性、可测试性和松耦合的角度而言,除了服务器端开发,任何Java应用都可以用Spring开发。通俗的说,Spring的控制反转(Ioc)和面向切面(AOP)的特性颠覆了过往,是一个轻量级框架。{{}李凯.基于SSH框架的电工电子网络虚拟实验室教学信息管理Web平台设计与研究[D].浙江大学,2013.1.20HibernateHibernates是轻量级JavaEE应用的持久层解决方案,Hibernate不仅管理Java类到数据库表的映射(包括Java数据类型到SQL数据类型的映射),[]王春超.[]王春超.基于J2EE架构的SSH组合框架的研究[D].长春理工大学,2010.6.1 Hibernate充当了面向对象的程序设计语言和关系数据库之间的桥梁,Hibernate允许程序开发者采用面向对象的方式来操作关系数据库。因为有了Hibernate的支持,使得JavaEE应用的OOA(面向对象分析)、OOD(面向对象设计)和OOP(面向对象编程)三个过程一脉相承,成为一个整体。[[]李刚.轻量级JavaEE[]李刚.轻量级JavaEE企业应用实战(第3版)[M].电子工业出版社,2012.4.363-364流程如下:StrutsStrutsJSPActionSpringServiceDAOHibernateHibernate2.1.4MySQL简介MySQL是一个小型关系型数据库管理系统。在2008年1月16号被Sun收购。目前Internet上的中小型网站基本都使用MySQL。MySQL体积小、速度快、成本低,并且开源,方便许多公司降低成本。MySQL特点:1.使用C和C++编写,并在多种编译器上测试,以确保可移植性2.支持多种操作系统3.为C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等多种编程语言提供了API4.支持多线程,有效利用CPU资源5.通过优化SQL算法,提高查询效率。6.能作为单独运行在客户端,服务器,甚至是网络中的应用程序,也能作为库嵌入软件中7.数据库连接途径包括TCP/IP、ODBC和JDBC8.提供可视化工具来管理、检查、优化数据库操作9.可以成为存储并处理众多数据的大型数据库3系统模块总体设计3.1前台模块设计图图3-1系统前台模块图系统前台模块首页关于我们新闻中心产品信息解决方案服务支持留言模块3.2后台模块设计
图图3-2系统后台模块图系统后台模块新闻中心部门管理业务管理消息列表网站管理员职务角色管理3.3后台数据流图后台管理后台管理身份验证管理员操作界面输入密码密码错误,返回重新登录密码正确新闻中心部门管理业务管理消息列表网站管理员职务角色管理信息读取与存储图3-3后台模块数据流图3.4数据库设计3.4.1数据库的E-R图设计1.系统E-R图,如图4-1所示:管理管理图4-1系统E-R图1NNNNNNN管理员部门管理网站管理员业务管理职务角色管理新闻中心消息列表2.新闻中心实体,如图4-2所示新闻中心新闻中心新闻ID新闻文本新闻链接创建时间版本时间3.部门管理实体,如图4-2所示:图图4-3部门管理实体属性图部门管理部门ID部门名称上级部门ID部门地址邮编部门电话4.业务管理实体,如图4-4所示:图图4-4业务管理实体属性图业务管理业务ID业务名称客户名称负责人订单编号客户电话客户地址5.消息列表实体,如图4-5所示:部门管理部门管理留言id留言人邮箱联系电话留言留言时间图4-5消息列表实体图6.网站管理员实体,如图4-6所示:网站管理员网站管理员员工ID所属部门ID职务ID员工姓名工号性别联系电话邮箱账户密码员工类别是否管理员是否超级管理员图4-6网站管理员实体属性图7.职务实体,如图4-7所示职务职务职务ID职务名称职务类别图4-7职务实体属性图8.角色管理实体,如图4-8所示:角色管理角色管理角色管理ID角色名称菜单操作主页ID主页名称图4-8角色管理实体属性图3.4.2数据库表的设计通过E-R图转化成数据库所能接受的结构模型,也就是关系表。在上面数据库分析的基础上,设计了以下的数据库表的设计:
1.front_news(新闻中心表),如表4-1所示:表4-1表4-1新闻中心表2.organ_branch(部门管理表),如表4-2所示:表表4-2部门管理表3.company_bussiness(业务管理表),如表4-3所示:表表4-3业务管理表4.front_message(留言管理表),如表4-4所示:表表4-4留言管理表5.organ_staff(网站管理员表),如表4-5所示:表4-5表4-5网站管理员表6.organ_position(职务表),如表4-6所示:表表4-6职务表7.organ_role(角色管理表),如表4-7所示:表表4-7角色管理表4系统模块详细设计与代码分析4.1前台模块设计前台功能模块分为新闻中心模块、留言簿模块等两个部分。前台首页主要有以下几个部分:首页:显示网站的主要导航。关于我们:主要包括公司简介,企业文化,联系方式等。新闻中心:主要包括公司内部动态新闻,以及业内相关新闻。产品信息:显示公司主要的产品信息。解决方案:显示公司关于产品的主要解决方案。服务支持:包括公司的服务内容和服务网点。4.1.1首页4.1.2新闻中心模块1)页面显示2)相关代码importjava.util.List;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importorg.apache.struts2.ServletActionContext;importorg.springframework.beans.factory.annotation.Autowired;importcom.freejuguo.framework.core.web.base.ExtJSONActionSuport;importcom.freejuguo.framework.front.bean.FrontNewsBean;importcom.freejuguo.framework.front.service.FrontNewsService;publicclassNewsActionextendsExtJSONActionSuport{ privatestaticfinallongserialVersionUID=2163325694547618490L; @Autowired privateFrontNewsServicefrontNewsService; privateList<FrontNewsBean>listfn; publicList<FrontNewsBean>getListfn(){ returnlistfn; } publicvoidsetListfn(List<FrontNewsBean>listfn){ this.listfn=listfn; } publicStringgetFrontNewsAll()throwsException{ listfn=frontNewsService.getFrontNewsAll(); HttpServletRequestrequest=ServletActionContext.getRequest(); request.setAttribute("list",listfn); returnexecute(); }}4.1.3留言簿模块1)页面显示2)相关代码importjavax.servlet.http.HttpServletRequest;importorg.apache.struts2.ServletActionContext;importorg.springframework.beans.factory.annotation.Autowired;importcom.freejuguo.framework.core.web.base.ExtJSONActionSuport;importcom.freejuguo.framework.front.bean.FrontMessageBean;importcom.freejuguo.framework.front.service.FrontMessageService;publicclassMessageActionextendsExtJSONActionSuport{ privatestaticfinallongserialVersionUID=-5466785603860646744L; @Autowired privateFrontMessageServicefrontMessageService; privateFrontMessageBeanfrontMessageBean; publicFrontMessageBeangetFrontMessageBean(){ returnfrontMessageBean; } publicvoidsetFrontMessageBean(FrontMessageBeanfrontMessageBean){ this.frontMessageBean=frontMessageBean;}publicStringcreateMessage()throwsException{ HttpServletRequestrequest=ServletActionContext.getRequest(); Stringname=request.getParameter("name"); Stringemail=request.getParameter("email"); Stringphone=request.getParameter("phone"); StringmessageInfo=request.getParameter("message"); frontMessageBean=newFrontMessageBean(); frontMessageBean.setName(name); frontMessageBean.setEmail(email); frontMessageBean.setPhone(phone); frontMessageBean.setMessageInfo(messageInfo); frontMessageService.createFrontMessage(frontMessageBean); Stringmess="留言成功";returnexecute(); }}4.2后台模块设计后台模块分为新闻中心,部门管理,业务管理,消息列表,网站管理员,职务,角色管理等7个模块。主要实现各模块的增删改查功能,其中消息列表,只有删除功能。网站管理员除了增删改查,还有修改密码,分配角色的功能。角色管理还有授权网站管理员权限的功能。4.2.1登陆界面1)在前台模块点击页面最后一栏的后台管理,进入到后台管理登陆页面。.3新闻中心模块1)显示页面2)相关代码添加新闻代码:publicvoidcreateFrontNews(FrontNewsBeanbean){ try{ FrontNewsvo=newFrontNews(); BeanUtils.copyProperties(vo,bean); vo.setId(newUUIDHexGenerator().generateUUID()); vo.setCreatedDate(DatetimeUtil.getCurrentDates()); this.frontNewsDao.save(vo); }catch(Exceptione){ LogHelper.getLogger().error("",e); thrownewBusinessException(e.getMessage()); } }publicvoidsave(Titem){ if(StringUtils.isNullOrEmpty(item.getId())){ item.setId(newUUIDHexGenerator().generateUUID()); } item.setCreatedDate(newDate()); item.setModifiedDate(newDate()); getHibernateTemplate().save(item); }修改新闻代码:publicvoidupdateFrontNews(FrontNewsBeanbean){ //TODOAuto-generatedmethodstub try{ FrontNewsvo=this.frontNewsDao.get(bean.getId()); vo.setNewsText(bean.getNewsText()); vo.setNewsUrl(bean.getNewsUrl()); vo.setRemark(bean.getRemark()); vo.setSort(bean.getSort()); vo.setModifiedDate(newDate()); vo.setState(bean.getState()); this.frontNewsDao.update(vo); }catch(Exceptione){ LogHelper.getLogger().error("",e); thrownewBusinessException(e.getMessage()); } }publicvoidupdate(Titem){ item.setModifiedDate(newDate()); getHibernateTemplate().update(item); }删除新闻代码:publicvoiddeleteFrontNews(Stringid){ FrontNewsvo=frontNewsDao.get(id); this.frontNewsDao.delete(vo); }publicvoiddelete(Titem){ getHibernateTemplate().delete(item); }4.2.4部门管理1)页面显示4.2.5业务管理1)页面显示4.2.6消息列表1)页面显示2)相关代码删除留言代码:publicvoiddeleteFrontMessage(Stringid){ //TODOAuto-generatedmethodstub FrontMessagevo=frontMessageDao.get(id); this.frontMessageDao.delete(vo); }publicvoiddelete(Titem){ getHibernateTemplate().delete(item); }4.2.7网站管理员1)页面显示4.2.8职务1)页面显示4.2.9角色管理1)页面显示新增角色页面:2)相关代码新增角色代码:publicvoidcreateOrganRole(OrganRoleBeanbean){ try{ OrganRolevo=newOrganRole(); BeanUtils.copyProperties(vo,bean); vo.setId(newUUIDHexGenerator().generateUUID()); OrganCorporganCorp=newOrganCorp(); organCorp.setId(Authorize.getToken().getLicenceId()); vo.setOrganCorp(organCorp); anRoleDao.save(vo); }catch(Exceptione){ LogHelper.getLogger().error("",e); thrownewBusinessException(e.getMessage()); } }5开发过程中遇到的问题5.1遇到的问题与解决1)Lastpacketsenttotheserverwas0msago.[ERROR]Prototyper2014-03-3110:26:02,311xool.framework-Prototypecom.mysql.jdbc.CommunicationsException:Communicationslinkfailureduetounderlyingexception:**BEGINNESTEDEXCEPTION**com.mysql.jdbc.CommunicationsExceptionMESSAGE:Communicationslinkfailureduetounderlyingexception:**BEGINNESTEDEXCEPTION**java.io.EOFExceptionSTACKTRACE:java.io.EOFException原因:由于数据库回收了连接,而系统的缓冲池不知道,继续使用被回收的连接所致。解决:重新启动MySQL服务。2)在新闻中心页面(news.jsp),新闻的显示我原来想通过在该页面用的jquery方法$(document).ready(function(){window.location=“newsAction.action”;})来取值,结果页面无线循环,无法停止。解决:把跳转新闻中心的地址从news.jsp改为newsAction.action,取完值再载入页面。3)Cannot
delete
or
update
a
parent
row:
a
foreign
key
constraint
fails
解决:使用级联删除6系统测试以及软件安装6.1系统测试系统测试是将经过测试的子系统装配成一个完整系统来测试。它是检验系统是否确实能提供系统方案说明书中指定功能的有效方法[][]徐思琰.软件测试的系统测试方法[D].华南理工大学,2013.06.016.2系统测试的对象和目的系统测试的对象不仅仅是源程序,而应是整个系统。包括系统分析、系统设计等,所以测试的对象是软件。系统测试时,不是要证明程序是无措,而是要精心选取易于发生错误的测试数据,以十分挑剔的态度,证明程序有错。因而,测试的目的是发现软件的错误。6.3部分模块测试1)新闻中心模块2)留言簿模块6.4测试报告本系统测试正常,基本通过。通过对系统的全面测试,我学到了很多的测试,了解测试方法,测试经验,通过这个测试,让我明白了测试的重要性,通过测试,可以使软件更适合用户的需要,更稳定,运行可靠,并能适应市场竞争,具有广
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年安徽林业职业技术学院高职单招职业适应性测试备考题库带答案解析
- 2026年福建体育职业技术学院高职单招职业适应性测试模拟试题带答案解析
- 2026年贵州健康职业学院高职单招职业适应性考试备考试题带答案解析
- 2026年湖南高速铁路职业技术学院高职单招职业适应性测试模拟试题有答案解析
- 2026年东营科技职业学院单招综合素质考试模拟试题带答案解析
- 2026年保定职业技术学院单招职业技能笔试备考题库带答案解析
- 2026年广西科技职业学院高职单招职业适应性考试备考题库有答案解析
- 2026年湖南环境生物职业技术学院高职单招职业适应性考试备考题库有答案解析
- 投资并购合作框架协议2025年
- 2026年河南艺术职业学院高职单招职业适应性测试模拟试题有答案解析
- 2026年中国数联物流备考题库有限公司招聘备考题库及参考答案详解一套
- 四川省乐山市2026届高一上数学期末质量检测试题含解析
- 2025年天津中德应用技术大学马克思主义基本原理概论期末考试真题汇编
- 2025青海省交通控股集团有限公司面向社会公开招聘70人笔试历年参考题库附带答案详解
- 韩语兴趣爱好课件
- 快递行业运营部年度工作总结
- 《苏教版六年级》数学上册期末总复习课件
- 油漆班组安全晨会(班前会)
- 消费类半固态电池项目可行性研究报告
- 山东省济南市2024年1月高二上学期学情期末检测英语试题含解析
- 口腔门诊医疗质控培训
评论
0/150
提交评论