基于javaweb的学生信息交流和自主管理系统的设计与实现

上传人:无*** 文档编号:74673883 上传时间:2022-04-14 格式:DOC 页数:29 大小:1.23MB
收藏 版权申诉 举报 下载
基于javaweb的学生信息交流和自主管理系统的设计与实现_第1页
第1页 / 共29页
基于javaweb的学生信息交流和自主管理系统的设计与实现_第2页
第2页 / 共29页
基于javaweb的学生信息交流和自主管理系统的设计与实现_第3页
第3页 / 共29页
资源描述:

《基于javaweb的学生信息交流和自主管理系统的设计与实现》由会员分享,可在线阅读,更多相关《基于javaweb的学生信息交流和自主管理系统的设计与实现(29页珍藏版)》请在装配图网上搜索。

1、基于java web的学生信息交流和自主管理系统的设计与实现摘要:现在网络上有很多的社交网站,也有很多的用户常驻其中,但由于他们受众人群比较广泛,用户的年龄、职业的差别决定了这些网站必须做到通用性才能很好的让大众接受,因此他们也缺失了一些独有的个性;在此背景上,决定做一个面向大学生自己的信息交流平台,让大学生可以在上面做专属于自己的事情,这样就能更好地让兴趣相投的人一块交流。这次的项目是面向学生这个特殊群体的,所以其中的模块都是具有定制特性的,希望以此可以很好满足用户的期望。网络已经是大学生必不可少的东西,大学生也迫切的希望能在网络尽情释放自己,展现自己,这次的项目正是出于这个想法,借此打造出

2、具有独特魅力的信息交流平台。该项目主要是基于java web体系结构实现的,开发工具为Eclipse,以Oracle作为数据存储层,结合流行的开源框架Struts2完成了项目的整体架构。关键词:信息交流 ;社交 ;Java Web ;Struts2The Design and Implementation of Students Information Exchange and Independent Management SystemAbstract: Nowadays, there are a lot of social community web sites on the Interne

3、t,and many users are used to communicating with each other through them.However,due to the wide range of customers,their different ages, and occupations, these sites must be no more ordinary in order that they can be accepted by the public.As a result ,it is no surprise that they will miss some uniq

4、ue personality.As for this phenomenon, I decide to develop an information exchanging platform for college students, so that students can do their own business.At the same time, more users sharing the same interests can communicate on it together.This project keeps focus on a special groupstudents ,a

5、nd all of the modules have certain properties,hoping that it can meet the users expectations. Internet has become indispensable for the college students,and the students are eager to release themselves and show themselves.Motivated by this idea, the project tries to create an information communicate

6、d platform with unique characters. This project is based on JavaWeb architecture, using eclipse as development tools and Oracle as database.Moreover,it is combined with popular open source framework,which is called Struts2 ,to complete the overall structure .Key words: Information Exchange;Social;Ja

7、va Web;Struts2II目 录1 前言(1)1.1开发背景(1)1.2 系统设计的目标(1)2 相关技术介绍(1)2.1 jsp技术简介(1)2.2 开源框架Struts2技术简介(1)2.3 Oracle数据库技术简介(2)2.4 JQuery脚本库技术简介(2)2.5 Eclipse开发工具简介(3)3 系统的可行性研究与需求分析(3)3.1 可行性研究(3)3.1.1 技术可行性(3)3.1.2 经济可行性(3)3.1.3 营运可行性(3)3.2 需求分析(3)3.2.1 系统需求(3)3.2.2 性能需求(3)3.3 功能分析(4)4 系统总体设计(4)4.1 系统主要功能设计

8、(4)4.2 各模块功能设计(5)4.3 数据库设计(6)4.3.1 数据库的逻辑结构(6)4.3.2 数据库的连接(10)5 系统详细设计与实现(10)5.1 系统登陆模块设计(10)5.2 系统注册模块设计(10)5.3 首页模块设计(11)5.4 博文模块设计(12)5.4.1 浏览全部博文(12)5.4.2 发表博文(13)5.4.3 博文详细(15)5.5 问答模块设计(16)5.5.1 浏览全部问题(16)5.5.2 问答详细(17)5.5.3 提出问题(18)5.6 个人中心设计(19)5.6.1 个人资料更新(19)5.6.2 个人内容管理(20)5.6.3 后台管理(20)6

9、 系统调试与测试(22)6.1 测试概论(22)6.2 程序的测试(22)6.2.1 学生登录测试(22)6.2.2 学生注册测试(23)6.2.3 发表博文测试(23)6.3 测试结果(24)结论(25)参考文献(26)致谢(27)21 前言1.1开发背景 网络已经成为当代大学生生活和学习中不可或缺的一样东西,生活中需要交流,学习上也需要交流。网络正好满足了这个需求,很多的社交网站也应运而生。网络交流成为了大学生的日常活动,离开了网络,很多大学生都会有一种孤独感,或者被社会抛弃的感觉这正好反映了大学生对网络的依赖性和网络交流的重要性。大多数的社交网站用户人群比较广泛,用户的年龄、职业的差别决

10、定了这些网站必须做到通用性才能很好的让大众接受,因此他们也缺失了一些独有的个性。当然,网上也有很多别具一格的社交论坛,里边聚集着一群有共同爱好的人。在此背景上,我决定做一个面向大学生自己的信息交流平台,用属于大学生的元素来吸引大学生在上面绽放自己年轻的光彩。1.2 系统设计的目标这次的项目是针对大学生所做的,目的是为了设计出具有学校生活色彩的应用系统,让使用者可以快速的融入其中。现在的大学生迫切的需要有共享自己的想法的平台,本系统正是要满足的这样的需求。2 相关技术介绍2.1 jsp技术简介jsp是sun公司在web编程领域所开发的一项技术,上面可以写html标签,也可以写一下java代码进行

11、逻辑处理,结合了显示处理和后台处理。受益于java语言的无平台限制性,解释jsp的中间件服务器可以运行在任何装有jvm环境的机器,代码不需要做任何的修改。2.2 开源框架Struts2技术简介Struts 2是Struts1的升级版本,它融合了webwork框架的优点,吸收了很多现在比较流行的软件思想,受到很多的开发者的喜爱。现在由apache开源组织进行维护和升级,每个开发者都可以贡献自己的一份力量。Struts2主要是对web编程中的请求控制进行了进一步的整合和封装,简化了很多繁琐复杂的工作,通过几个简单的配置就可以让开发者完成前台到后台的一系列流程。这样可以让开发者把精力放在业务逻辑的处

12、理,而不用重复的进行请求的处理,一定程度上提高了开发效率。图2.1为Struts2的工作流程:图2.1 Struts2工作原理2.3 Oracle数据库技术简介Oracle数据库系统是一种企业级的关系型数据库,由美国Oracle公司(甲骨文)开发。它比较适合一些大中型的企业应用。Oracle数据库系统是现今数据库系统中对数据库设计原理实现的最为完整的数据库,安全性很高,适合一些对信息安全有很高要求的系统开发。Oracle现在的版本为Oracle Database 12c,其对数据库云进行了很好的支持,对处理大数据提供了不错的支撑。2.4 JQuery脚本库技术简介JQuery是一个开源的js脚

13、本库,全球使用人数很高,也有很多的开发者在对其进行优化和扩展。它主要优点是能够兼容多种浏览器,对不同的浏览器内核进行了很好的兼容。使用JQuery可以对DOM进行很多操作,也可以让开发者做出很多动态显示特效。另外,它封装的Ajax功能也是非常简便易用,功能强大。JQuery提供了丰富的API供开发者使用,利用它可以很轻松的开发出强大的web系统。2.5 Eclipse开发工具简介Eclipse是一种功能强大的集成开发工具,主要用于java语言的开发。它提供了丰富的快捷键,让开发者可以利用纯键盘进行快速的编程。Eclipse允许开发者在其提供的API基础上开发特殊需求的插件,此插件可以完美的融合

14、到Eclipse上,很大程度上增强的它自身的功能,方便了开发者的开发。另外,它提供的debug调试功能对于排查开发过程中难以发现的bug起到了很明显的作用。3 系统的可行性研究与需求分析3.1 可行性研究3.1.1 技术可行性技术方面主要使用了比较流行的Struts2框架,网上相关资料比较丰富,实现起来相对容易。数据库Oracle也是比较成熟的数据库,应对本系统也不会出现性能问题。其他的技术像Ajax也有很多丰富的实例,不存在无法实现的问题。由此可知,技术上是可行的。3.1.2 经济可行性本系统的开发过程中所使用的资源均属于开源免费的,不需要额外支付费用,开发人员上也不需要很大的需求,所以产生

15、的费用也不是很大,系统后期的部署和维护也是相对比较容易,对服务器的要求也不是很苛刻,所有开支不是很大,所以,经济上是可行的。3.1.3 营运可行性本系统主要是针对大学生所开发的应用系统,在潜在用户量这方面是很客观的,营运过程中,宣传也是比较简单,同学之间相互了解是很有效的宣传方式。所以在运行上是可行的。3.2 需求分析在系统开发之前,需求分析是很关键的。一个好的需求直接决定了系统开发的成败。需求分析主要是了解用户的主观想法,借此来总结需要实现的功能以及实现过程中的细节。3.2.1 系统需求对于该系统的实现方式,java是很好的选择。因为java在web方向上有很多成熟的体系结构,它是经过了很多

16、人验证后确实可行的方案,所以使用起来会比较容易。3.2.2 性能需求系统运行过程中会产生很多的数据,在数据到大一定量以后,就会导致系统性能问题。所以在实现方式上,数据源方面需要使用连接池加快访问数据库的速度,后期在服务器上需要提高服务器的配置,以达到要求的运行速度。3.3 功能分析学生信息交流平台主要包括首页展示,博文模块,问答模块,个人中心和关于。其中首页主要是对博文和问答的一系列展示,包括最新博文,最新图文,热门博文,各类型博文,以及最新的待解决问题,另外还包括活跃学生的排行展示;博文模块主要是对博文展示,发表博文,回复博文,查找博文等一系列的用户操作;问答模块就是对学生用户所提问题的展现

17、和其他学生对其进行回答的展示,另外,提问者还可以对自己满意的回答进行采纳,此时问题状态改为已解决;个人中心主要有基本资料,密码,头像的更新,另外可以管理自己的博文和问答,实现用户的自主管理;此外,学生还会有自己相应的角色,比如管理员,博文管理员,问答管理员,普通用户,对应的角色可以管理整个系统的相应模块,这样就使用户具备了后台管理员的部分权限,默认情况下,管理员具有所有权限,只有管理员可以管理系统的所有学生用户;关于模块就是对整个系统的介绍。4 系统总体设计4.1 系统主要功能设计图4.1 功能模块图该系统主要有:首页展示,博文模块,问答模块,个人中心模块和关于模块。其中博文模块下有包括查看博

18、文,发表博文,回复博文和按类别、用户、标题查询博文;问答模块下有提出问题,回答问题,采纳问题,查找答案等;个人中心包括用户个人资料,密码,头像的修改,以及对自己博文和问答的查阅与更新,个人中心还包括后台管理部分,用户可以根据自己的权限做相应的操作。图4.1为学生信息交流平台的功能模块图。4.2 各模块功能设计主要功能有:1. 用户登录注册:注册时对用户输入的信息进行有效验证,并对已经注册用户名进行提示,防止出现同样的用户名。2. 博文模块:对所有博文进行分页展示,可以根据类别,用户名,标题进行查询,点击博文进入博文详细,可以浏览博文内容和回复详细,回复具有一级回复和二级回复,可对二级回复进行隐

19、藏和显示,另外可以点击发表博文来表达自己的观点。3. 问答模块:对最新的问题进行展示,可以根据关键字模糊查询问题,点击问题进入问题详细,可以查看问题详情和回答列表,如果是提问人,还可以对满意的答案进行采纳,同样也可以提出问题等待别人回答。4. 个人中心:首先包括对个人资料的更新,其中有个人基本资料,个人密码,个人头像;还有就是对自己的博文和问答的管理。个人中心还包括后台的管理,用户可以根据自己的权限来管理相应的模块。5. 关于:对本系统的一个介绍,让用户对系统有个全面的认识。4.3 数据库设计4.3.1 数据库的逻辑结构数据库设计需要满足一些严格的约束和规则。要搞清楚实体和表之间的对应关系,还

20、有他们之间的各种联系。设计过程要充分考虑数据冗余与性能上的平衡,尽量在表的设计上做到最优。学生信息交流平台的数据库包含下列数据表:(1)学生信息表主要用于保存注册用户的各类信息,包括用户名,密码,昵称,邮箱等。表4.1 学生信息表(student)名称类型可为空注释STUNONUMBER(8)学生编号STUACCOUNTVARCHAR2(45)Y账号STUPASSWORDVARCHAR2(45)Y密码STUSEXVARCHAR2(4)Y性别STUNICKNAMEVARCHAR2(50)Y昵称STUBIRTHDATEY生日STUPHOTOVARCHAR2(100)Y头像STUHOBBYVARCH

21、AR2(100)Y爱好STUYXVARCHAR2(100)Y院系STUZYVARCHAR2(100)Y专业STUEMAILVARCHAR2(100)Y邮箱STUTELVARCHAR2(40)Y手机STATUSINTEGERY状态ROLEIDNUMBER(2)Y角色idREGDATEDATEY注册日期 (2)用户角色表主要用于保存注册用户的角色信息。表4.2 用户角色表(role)名称类型可为空注释ROLEIDNUMBER(2)角色idROLENAMEVARCHAR2(20)Y角色名ROLEVALUENUMBER(4)Y角色权限值 (3)用户权限表主要用于保存注册用户操作的各类权限。表4.3 用

22、户权限表(permission)名称类型可为空注释PIDNUMBER(4)权限idPNAMEVARCHAR2(45)Y权限名称PURLVARCHAR2(100)Y路径 (4)博文表主要用于保存博文的各类信息,包括标题,内容,时间,发布人等。表4.4 博文信息表(blog)名称类型可为空注释BLOGIDVARCHAR2(20)博文idBLOGTITLEVARCHAR2(100)Y博文标题BLOGCONTENTVARCHAR2(4000)Y博文内容BLOGTAGVARCHAR2(20)Y博文标签BLOGREADNUMBER(8)Y浏览数BLOGREPLYNUMBER(8)Y回复数BLOGTIMED

23、ATEY发布时间STUNONUMBER(8)Y发布人编号 (5)博文一级回复表主要用于保存注册博文的一级回复,包括id,内容,时间,博文id等。表4.5 博文一级回复表(replyone)名称类型可为空注释RONEIDVARCHAR2(20)回复idRONECONTENTVARCHAR2(500)Y回复内容RONEDATEDATEY回复时间STUNONUMBER(8)Y回复人编号BLOGIDVARCHAR2(20)Y所回复博文 (6)博文二级回复表主要用于保存注册博文的二级回复,包括id,内容,时间,一级回复id等。表4.6 博文二级回复表(replytwo)名称类型可为空注释RTWOIDVA

24、RCHAR2(20)回复idRTWOCONTENTVARCHAR2(500)Y回复内容RTWODATEDATEY回复时间STUNONUMBER(8)Y回复人编号RONEIDVARCHAR2(20)Y一级回复id (7)问题表主要用于保存注册问题的各类信息,包括问题标题,内容,时间,问题状态等。表4.7 问题表(ask)名称类型可为空注释ASKIDVARCHAR2(20)问题编号ASKTITLEVARCHAR2(100)Y问题标题ASKCONTENTVARCHAR2(2000)Y问题内容ASKREADNUMBER(8)Y阅读数ASKANSWERNUMBER(8)Y回答数ASKTIMEDATEY提

25、问时间STUNONUMBER(8)Y提问人编号STATUSINTEGERY问题状态 (8)回答表主要用于保存回答的各类信息,包括回答内容,回答时间,是否采纳等。表4.8 回答表(answer)名称类型可为空注释ANSWERIDVARCHAR2(20)回答idANSWERCONTENTVARCHAR2(1000)Y回答内容ANSWERTIMEDATEY回答时间AGREECOUNTNUMBER(8)Y赞同数ACCEPTINTEGERY是否被采纳(0未采纳 1已采纳)STUNONUMBER(8)Y回答人编号ASKIDVARCHAR2(20)Y问题id (9)图片表主要用于保存图片的各类信息,包括图片

26、名称,图片路径,对应表名称,对应记录,上传时间等。表4.9 图片表(pics)名称类型可为空注释PICIDVARCHAR2(20)Y图片idPICNAMEVARCHAR2(100)Y图片名称PICURLVARCHAR2(100)Y图片路径TABLENAMEVARCHAR2(20)Y对应表名称RECODEIDVARCHAR2(20)Y对应记录idUPTIMEDATEY上传时间4.3.2 数据库的连接本系统运用了dbcp数据库连接池来提高数据库的连接效率。dbcp是 apache组织上的一个 java 连接池项目,同时也是 tomcat 使用的连接池组件。系统中使用dbcp需要3个jar包:com

27、mons-pool.jar,commons-collections.jar; commons-dbcp.jar。系统中频繁的建立数据库连接是非常耗费资源的操作,所以dbcp连接池会预先创建一些连接存在内存中维护,这样系统中需要用到连接的时候直接去池中取,省掉了临时创建的时间,提高了运行效率。首先需要在meta-inf中加入数据库连接池配置文件context.xml,然后配置监听器初始化数据源,之后代码中就可以使用getDataSource()得到的数据源来获取数据库连接。5 系统详细设计与实现5.1 系统登陆模块设计登陆模块主要功能就是验证用户输入的用户名密码是否正确,如果输入有误就进行相应的

28、提示,如果登陆成功就跳转到首页。图5.1为登陆页面:图5.1 系统登陆界面登陆过程使用JQuery实现的ajax方式进行后台的验证,验证结果通过js动态的显示在页面上,填写完登陆信息发送请求到后台,此时会经过Struts2的拦截器interceptor来查询该用户的具体权限,并保存到session中。这样就可以方便的在具体的操作中判断用户是否具有该权限,也可以根据用户的权限动态的显示页面上的模块。5.2 系统注册模块设计图5.2 系统注册界面注册模块是用户从游客到会员的必经之道,只有注册的用户才能进行发表博文,提问题等一系列操作。图5.2为注册页面。首先,当用户输入用户名以后会去异步请求后台,

29、验证该用户名是否已经注册,如果已经注册就禁止该用户名的重复注册,接着会对密码和重复密码进行有效性验证,判断两次密码输入是否一致,并作相应提示。另外,还有对邮箱和手机的合法性验证,主要是使用了正则表达式。其中,验证邮箱合法性的正则为:/w+w+.w+$/,验证手机合法性的正则为:/(131-9|155-9|182-9)d8$/。这样就可以有效的避免用户的恶意输入。最后注册成功后就会跳转到登陆界面,并且用户名输入框已经默认带有用户刚注册成功的用户名,方便了用户登陆。5.3 首页模块设计登陆成功后进入首页,首页主要是对平台中内容的全面展示。图5.3为系统首页:图5.3 系统首页首先会有一个图片轮播,

30、展示的是最新的博文中所夹带的图片,点击图片可以查看该博文详细,然后就是对热门博文以及各种类型博文的展示。5.4 博文模块设计5.4.1 浏览全部博文点击导航栏的博文选项,首先会进入到全部博文的页面,上边显示的是根据发表时间的降序排列的所有博文的分页显示。左侧有博文的各个分类,点击某个分类可以选择浏览具体分类的博文。下方还有博文搜索的输入框,可以根据输入的关键字按照标题或博主搜索相关内容。具体显示如图5.4:图5.4 博文纵览页在blog.jsp中全部博文处只是一个空的div,页面上所显示的内容都是在页面刚开始加载时动态的去后台请求,然后数据返回到另外一个blogList.jsp的页面中进行组织

31、,最后把整个页面加载进了刚才的空白div,代码如下:$(document).ready(function()$(#showDiv).load(/STUINFO/blog_findbytag.action?timestamp=+(new Date().getTime(););5.4.2 发表博文点击博文页面中的发表博文按钮就会进入到发表博文的页面,在进入页面前,会判断当前有没有用户登陆,如果没有登陆就提示请登录然后跳转到登陆页面,这样可以有效避免游客的非法操作。页面如图5.5:图5.5 发表博文页其中用到了第三方插件ckeditor,这是一个富文本编辑器插件,可以取代原始的textarea文本域

32、进行丰富的文本输入,在此基础上又额外添加了上传图片的功能,使发表的博文可以图文并茂,更加生动。在标题框输入标题时,右上角的字数会实时的变化,提示用户当前的字数,如果超过最大值就会将输入框边框变为红色来提醒用户输入非法。填写完毕,点击发表按钮,表单中的数据会提交到后台进行处理。其中,为了避免用户的恶意js注入,对输入的内容进行了特殊字符转义处理,替换提交内容中的, , &。还要对博文内容进行解析,判断是否含有图片,如果包含则需要提取出来进行单独的图片上传和保存。其中用到了正则表达式对内容中图片路径的格式进行匹配,正则表达式为:bsrc=(+)。代码如下:/如果博文中包含img标记if(blogc

33、ontent.indexOf(img) != -1)IPicsBiz picsBiz = new PicsBizImpl();Pattern pattern = Ppile(bsrc=(+);Matcher matcher = pattern.matcher(blogcontent);while(matcher.find()if(matcher.group(1).indexOf(ckeditor/plugins/) != -1)continue;Pics pic = new Pics();pic.setPicname(this.blog.getBlogtitle();pic.setPicurl

34、(matcher.group(1);pic.setRecodeid(blogid);pic.setTablename(blog);pic.setUptime(new Date();picsBiz.addPic(pic);5.4.3 博文详细博文详细页主要是对博文的具体内容,博主的信息以及该博文回复信息的一系列展示,如图5.6。详细页左侧会显示发表该博文的用户的详细信息,右侧是该博文的详细,包括博文标题,博文类别,发表时间和博文内容。下方就是所有的回复列表,回复包括一级回复和二级回复,其中每条回复又有相应的回复人信息。这个就涉及到数据的对应关系,一条回复对应唯一的一个用户,一篇博文对应多条一级回

35、复,一条一级回复又对应多条二级回复。所以就需要特定的数据结构来存储其对应关系,使用OneToOne泛型类来表示一对一的关系,使用OneToMany 来表示一对多的关系,这样查询数据库时,按照其要求的结果组装数据,将其封装到对应的一对一或一对多实体Bean中,传到前台进行显示。封装的部分代码如下:/封装一级回复与对应的二级回复ListOneToManyOneToOne, OneToOne data = null;if(replyones != null)data = new ArrayListOneToManyOneToOne, OneToOne(replyones.size();for(Rep

36、lyone replyone : replyones)Student student = this.studentBiz.findByStuno(replyone.getStuno();OneToOne entity = new OneToOne(replyone, student);ListOneToOne many = this.replytwoBiz.findAllByRoneId( and roneid=? , replyone.getRoneid();data.add(new OneToManyOneToOne, OneToOne(entity, many);点击一级回复中的回复按钮

37、会弹出一个新的div层,弹出方式为淡出淡入,该实现是运用了JQuery的动态效果。在该弹出层中对一级回复进行二次回复;另外,右上角的收起回复点击可以将二级回复隐藏,同时收起回复变为展开回复,再次点击可显示二级回复。图5.6 博文详细页5.5 问答模块设计5.5.1 浏览全部问题点击导航栏有问必答进入到问答页面,主要有按提问时间降序排列的问题列表,按照关键字搜索答案的搜索框以及提出问题的按钮。界面如图5.7:图5.7 有问必答页5.5.2 问答详细问答详细主要是对问题的具体展现,包括问题的标题,内容,提问时间,提问人以及被浏览次数等,下方还会有对该问题的具体回答列表。如果该问题是已采纳状态,则问

38、题下方会显示所采纳的答案。右侧还会有最新的几条待解决问题供其他用户浏览。界面如图5.8:图5.8 问答详细页如果当前登录用户为该问题的提问人,则在每条回答的后面会有采纳的按钮,点击采纳会将该答案设为最佳答案,并将问题状态设为已解决。此时,所有回答的采纳按钮将不会再显示,避免重复采纳。5.5.3 提出问题提出问题页同发表博文页基本一致,同样是引用了第三方富文本编辑器插件ckeditor来进行问题的编辑,同样具有图片上传功能。5.6 个人中心设计5.6.1 个人资料更新在个人中心,用户可以对自己的个人资料进行查看和更新,其中包括基本信息的更新,用户密码的更新和用户头像的更新。1. 基本信息的更新包

39、括用户生日,昵称,性别,爱好,手机,邮箱等的更新,同样也有相应的有效性验证来保证用户输入的合法。 界面如图5.9:图5.9 基本资料更新2. 个人密码更新必须输入原始密码才能修改,当用户输入完毕,发送请求到后台,后台会对原始密码进行校验,如果不正确会提示旧密码不正确。3. 个人头像更新会提供一个属性为file的input节点用于选择文件,后台使用struts2的封装好的File对象进行上传处理。而且会对文件的格式进行验证,如果不是.jpg,.png,.gif,.jpeg中的其中一种,则上传失败,页面上显示格式不正确提示用户。5.6.2 个人内容管理在内容管理模块中,用户可以对自己的博文和问答进

40、行删除和更新。博文管理中,用户可以根据关键字,博文类别和博文日期进行相应的筛选,选出符合条件的博文进行管理。管理过程中,可以批量操作,提供了全选,反选和批量删除的按钮方便用户操作。界面如图5.10:图5.10 我的博文管理查询中会根据用户所选择的的过滤条件进行针对性的筛选,对用户选择的条件进行过滤,没有选择的则默认不作为过滤条件。其中关键的就是动态的拼接查询sql语句。5.6.3 后台管理本系统将后台管理融入到了个人中心,实现了自我管理。每个用户都有自己的权限,用户可以根据自己的权限在个人中心进行相应的后台管理。1. 权限原理介绍 后台管理页面中的用户管理,博文管理,问答管理都是根据登陆用户的

41、权限列表动态显示的。下表为用户权限表:表5.1 权限具体条目表权限id权限名权限路径1用户管理/role_findall.action2博文管理/jsp/personal/manager/blogManager.jsp4问答管理/jsp/personal/manager/askManager.jsp下表为用户角色表:表5.2 角色具体条目表角色id角色名角色值1超级管理员72博文管理员23问答管理员40普通用户0其中,权限的id值分别设为了1,2,4;角色表中超级管理员具有所有的权限,所以其角色值为1+2+4=7;博文管理员只具有博文管理的权限,所以其角色值为2,同理问答管理员角色值为4;普通

42、用户没有任何权限,所以其角色值为0。这样分配以后,用户登陆后可以根据用户的角色值来判断该用户是否具有某个权限。例如:想要判断角色值为7的超级管理员是否具有用户管理的权限,则需要计算该角色值按位与用户管理权限id的结果,即7&1 != 0,如果不等于0就说明该用户具有此权限。此方法是巧妙的利用了按位与的特性,只要符合这样的规则,就可以很简单的判断对应角色的对应权限。2. 用户管理在用户管理中,管理员可以根据不同的筛选条件来选择符合条件的用户列表。同时,可以控制特定用户是否有效,无效的禁止登陆,另外还可以修改用户的角色,让某个用户具有特定的权限。界面如图5.11:图5.11 用户管理3. 博文管理

43、博文管理中,同样可以根据博主,博文标签,关键字和起止时间进行查询。在查询出的博文列表中会列出博主昵称,博文标题,博文标签和发表时间,管理员可以进行删除和批量删除。4. 问答管理问答管理中,管理员可以根据提问人,问题状态,关键字和提问时间进行查询,列表中也会相应的列举出提问人昵称,问题标题,问题状态和提问时间。管理员可以进行删除和批量删除。6 系统调试与测试6.1 测试概论软件测试在系统开发过程中是必不可少的一个环节,一个好的系统必然是在发布前经历了系统全面的测试。其在软件工程学上也是有很重要的地位,因为它直接决定了一个系统的好与坏。软件测试有很多种测试方法,比如白盒测试,黑盒测试,还有程序员经

44、常说的冒烟测试,这些测试方法都能够很有效的发现系统潜在的漏洞。只有全面的测试才能保证项目的正常发布。6.2 程序的测试6.2.1 学生登录测试登录过程主要是对用户名密码的合法性判断,测试用例如下:表6.1 登录测试用例编号测试项用例目的输入数据实际结果结果比较说明001学生登陆测试用户名密码为空是否可登陆用户名:空密码:空提示输入用户名,输入密码符合002学生登陆测试用户名不存在,是否可登陆用户名:555密码:555提示用户名不存在符合003学生登陆测试密码输入错误是否可登陆用户名:admin密码:555提示密码错误符合6.2.2 学生注册测试注册信息包括用户名,密码,昵称,生日,爱好,邮箱和

45、手机等,测试过程主要是对这些信息的验证,测试用例如下:表6.2 注册测试用例编号测试项用例目的输入数据实际结果结果比较说明001学生注册测试已注册用户名是否可注册用户名:admin提示用户名已存在符合002学生注册测试两次密码不同是否可注册密码:123重复密码:456提示两次密码不一致符合003学生注册测试邮箱格式不合法是否可注册邮箱:1111.ss提示邮箱格式不正确符合004学生注册手机格式不正确是否可注册手机:111222233手机格式不正确符合6.2.3 发表博文测试发表博文需要填写博文的标题,博文类型和博文内容,要对标题的长度,博文内容进行验证,测试用例如下:表6.3 发表博文测试用例

46、编号测试项用例目的输入数据实际结果结果比较说明001发表博文测试标题为空是否可发表标题:空标题输入框变红提示符合002发表博文测试标题长度大于50是否可发表标题:长度大于50标题输入框变红警告符合003发表博文测试内容为空是否可发表内容:空提示内容不能为空符合6.3 测试结果经过一系列的测试,表明了系统各个模块均符合设计要求,后续使用过程中还会出现其他的问题,维护工作也必不可少。结论一段时间的设计,加上一段时间的编码,再加上一段时间的测试,系统已经初步成型,当然后期还有很多的维护工作,以保证其能正常运行。紧接着就是一段时间的论文撰写,此次毕业论文的编写让我深刻体会到了科学理论的重要性,很多东西

47、不是说知道就完成了,还要能准确清晰的表达出来。论文就是要让别人明白你所写的东西是什么,让晦涩难懂的专业术语能够被非专业人员理解,这是一种艺术。在完成论文的过程中,自己也重新梳理了一遍软件开发的流程,当今软件的开发已经逐步成熟,有着和传统工业一样的系统化开发流程,这样规范了开发的各个步骤,同时也有利于提高开发的效率。学生信息交流平台旨在提供给大学生一个轻松活跃的交流环境,它没有学校必须的学术性,没有科研必须的准确性,有的是每个人独具一格的思想。在这里,每个人都可以畅所欲言,这就是当代大学生应有的交流。在开发的过程中,也遇到了很多以前没有见过的难题。确实,很多时候问题都是边做边发现的,平时觉得很不

48、起眼的小功能,到了真正实现的时候,就会发现没有想象中的那么容易。也只有这样,你才能全方位的提高自己的技术水平,动手才是解决问题和提高自己的最好方法。参考文献1 张晓东,高鉴伟JSP+Oracle数据库开发与实例M清华大学出版社,20082 萨师煊,王珊数据库系统概论M高等教育出版社,20023 陈战胜,沈大林著JSP 2.1动态网站设计案例教程M电子工业出版社,20114 Bruce EckelJava编程思想M北京机械工业出版社,20045 孙卫琴精通Struts:基于MVC的Java Web设计与开发M电子工业出版社,20046 徐桂祥SQL案例解析:以SQL Server与Oracle为

49、例M清华大学出版社,20117 丁贵广JSP编程基础与实例M机械工业出版社,20028 官云战软件测试M国防工业出版社,20069 武卫华计算机专业英语M科学出版社,200410 张海藩软件工程导论M清华大学出版社,200311 王利数据库基础与应用M北京中央广播电视大学出版社,199712 蔡翠平Java程序设计M清华大学出版,200213 侯晓强,徐春荣,勾海波Java服务器编程实例M中国青年出版社,200414 陈志泊数据库原理及应用教程(第二版)M人民邮电出版社,200815 于秀山,于洪敏软件测试新技术与实践M电子工业出版社,200616 Cornel HorstmannCore J

50、ava第3版MPrentice-Hall,1997致谢我首先要感谢我的指导老师王洪权老师,从进入大学的第一节专业课程,王老师就以其敬业严谨的教学态度深深影响着我,这为我以后的进一步学习打下了牢固的基础。不光只是学术的指导,在人生方向上,王老师也给过很多建议,让我受益匪浅。此次论文的编写,王老师也给与了很多的指导和建议,帮助我顺利完成了论文的撰写工作,在此对王老师表达自己真挚的感谢和美好的祝愿。我也要感谢中软国际的阎赫,王丹丹,张怀亮等几位授课老师,是他们一步步带我进入了缤纷多彩的软件世界,让我逐步提高了自己的专业水平,让我能够在毕业后顺利的步入社会。我还要感谢那些在整个毕业设计过程中帮助过的同学们,是你们无私的帮助让我顺利完成了毕业设计工作。最后我要感谢我亲爱的室友们,是你们给了我难忘的大学生活。25

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!