个人空间交友系统
JAVA程序设计?课程设计
个人空间设计与制作
目
专 业 名 称
学生姓名
学号
指导教师
完成时间
目录
目录 .....................................................................................................1
1
1. 绪论 ..............................................................................................3 1.1 项目开发背景: .........................................................................3 1.2 项目简述..................................................................................3 2. 开发环境.......................................................................................3 3. 需求分析.......................................................................................4 3.1用户类型分析: .......................................................................4 3.2功能需求分析: .......................................................................4 4. 系统设计.......................................................................................6 4.1 软件组织结构 ..........................................................................6 4.2 软件系统结构 和 类之间的引用关系 .....................................6
4.3 ..........................................................................7 系统文件组织
4.4 系统数据库设计 ....................................................................10 4.5界面设计 ................................................................................10 5.系统的开发环境平台 ...................................................................15 6. 总结 ............................................................................................15
2
1. 绪论
1.1 项目开发背景:
网络快速发展,个人微博 博客 个人空间 系统也有机会得以茁壮成长和迅速发展。我所开发的个人空间交友系统是在原有个人空间样式的基础之上,新添加新的使用功能模块设计出来的。对用户具有更好的友好性和适用性。 1.2 项目简述
现在系统与传统系统比较具有的总体优势:可以实现动态刷新,在用户写日志,上传图片,留言,好友管理时,必须要重新刷新当前页面,这样页面会被再次加载,用户用很长的时间来等待他感兴趣的东西,而结果可能又不是他想要的内容,这样对用户的体验就很差。我们的个人交友系统,在大多数方面可以满足用户对局部页面动态请求,而不刷新整个页面。提高了系统与用户的交互性,可以让用户很快浏览他感兴趣的内容的同时,还可以关注当前页面中的其他内容。 2. 开发环境
开发环境MyEclipse简介
MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持JSP,Servlet,Structs2.0,AJAX等全新技术。
在结构上,MyEclipse的特征可以被分为7类:
1. J2EE模型
2. WEB开发工具
3. EJB开发工具
4. 应用程序服务器的连接器
5. J2EE项目部署服务
6. 数据库服务
7. MyEclipse整合帮助
对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。
简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。
3
3. 需求分析
3.1用户类型分析:
由于本系统是空间类交友和展示系统,因此在本系统中,需要有以下三类用户类型:
? 空间管理员
? 空间的普通用户
? 空间好友
3.2功能需求分析:
1) 管理员模块
1、登录
当管理员打开管理员首页时,管理员输入用户名、密码、验证码后
单击登录按钮,通过ajax请求后台的管理员管理逻辑,经过验证
后向页面返回登录成功或密码不准确信息。完成管理员登陆,无
页面跳转。
2、查看用户留言
管理员登录成功后,单击查看留言管理空白链接在后,在当前页面中显示所
有用户留言的内容,当单击删除空白链接后可以通过ajax删除该留
言项, 页
面无刷新。同时,当在线用户有留言时会动态的添加到当前留言表的
最后。
2、查看用户许愿
管理员登录成功后,单击查看许愿管理空白链接在后,在当前页面中显示所
有用户许愿的内容,当单击删除空白链接后可以通过ajax删除该许
愿项, 页
面无刷新。同时,当在线用户有许愿时会动态的添加到当前许愿列表
的最后。
2) 用户模块
? 已注册用户
1.登录
当注册用户打开个人交友系统的首页时,输入用户名,密码,验证码。验证码的生成和校验通过ajax来实现的。
2.日志管理
查看:用户在个人首页单击日志链接时可以看到所有日志列表,通过ajax请求action动态生成日志列表中的数据。
删除:用户点击日志列表后的删除空白链接,通过ajax删除该日志,页面无 跳转。
4
阅读:用户单击阅读链接可以跳转到该日志的页面进行阅读。
添加:用户单击添加日志按钮,可以跳转到写日志页面,在此写自己的日志。
3.相册管理
链接:用户在个人首页单击图片链接时可以跳转到图片管理页面
查看:用户点击日志列表后的最新图片选项卡,通过ajax查看最新图片,页面无跳转。
浏览:用户单击浏览图片选项卡可以动态的逐个浏览已上传的图片。
添加:用户单击添加图片选项卡可以跳转到写日志页面,在此写自己的日志。
4.好友管理
查看:用户在个人首页中可以看到所有部分好友列表,通过ajax请求action动态生成好友列表中的图片。
访问:用户单击好有图片可以跳转到该好友的个人主页。
查找:用户单击查找按钮,可以跳转好友搜素结果页面,同过ajax产生动态提示。
5.留言管理
查看:用户在个人首页单击留言链接时可以看到所有留言列表,通过ajax请求action动态生成留言列表中的数据。
删除:用户点击留言列表后的删除空白链接,通过ajax删v除该留言,页面无
跳转。
阅读:用户鼠标放在查看链接时可以动态提示该留言用户的信息。
添加:用户单击留言按钮,可以跳转到写日志页面,在日志后对其评论
(留言)。
6.个人信息管理
查看和修改:用户单击个人主页的个人信息链接,跳转到用户个人信息页面,其中的数据是通过ajax自动填充的。
? 普通用户
注册
当普通用户打开个人交友系统首页时,可以单击注册按钮弹出注册面板,用户可以填写注册信息,页面无刷新。
许愿
用户单击许愿链接,跳转到许愿页面,通过ajax动态加载数据库中已有的所有许愿信息。
许愿:用户填完许愿信息后单击许愿按钮,通过ajax可也将许愿内容添加到数据库,同时在页面中展现出来。
留言
当普通用户打开个人交友系统首页时,可以单击留言链接跳转到留言页面,用户可以填写留言信息,提交到数据库。
5
4. 系统设计
4.1 软件组织结构
个人空间交友系统
用户管理 管理员管理
户普注 册通用用登留理许管注无 户 陆言愿理册 管墙用
理管户
许注登日图好管个言 册陆志片友理人愿 \\\管管管资
理理理料留
4.2 软件系统结构 和 类之间的引用关系
本系统是基于MVC模式的系统结构主要应用jsp,ajax/struts/Hibernate
结构。其中jsp,ajax用于前台页面的设计,struts用于业务逻辑的控制,Hibernate主要用于持久化层的控制,ajax用于页面的局部刷新。
6
FriendDAOipmfriendDAOFriendActionDiuserspatch
RegistDAOipmregistDAOUserIndexActiadminon
UserDAOipmuserActionDiuserDaospatchpicture
PictureActionDPictureDAOipmpictureDAOispatch
wishesWishActionDispatchWishDAOipmwishDAO
loglogActionDispatch logDAOipmlogDAO
leavewordleavewordActionleavewordDADispatchleavewordOipmDAO
promptDAOipmpromptpromptActionpromptDAO
4.3 系统文件组织
1) 包 及 包的说明
说明:
7
com.lzl.Hibernate包中放的是:HibernateSessionFactory类,是hibernate连接数据库的基础类
com.lzl.Hibernate.bean包中放的是:数据库表对应的对象模型类
com.lzl.Hibernate.DAO包中放的是:对数据库中的各种表的增,删,改,查
实现类。
com.lzl.Hibernate.ORM包中放的是:对象模型和数据库中关系模型的映射文件。
com.lzl.struts包中放的是:个人交友系统中用到的各种资源文件。
com.lzl.struts.Action包中放的是:对业务逻辑的控制,主要处理页面的请求。如浏览图片,查找好友等功能。
com.lzl.struts.form包中放的是:页面表单中对应字段的对象。
admin文件夹:存放的是管理员管理的jsp页面
product 文件夹:存放的是用户的jsp页面
2) jsp页面设计
页面名称 功能说明
Index.jsp 个人交友系统首页
lm.jsp 用户个人首页
Registuser.sp 注册用户
Picture.jsp 相册管理页面,包括上传图片,显示图片(分页显示),删
除图片
a_leaveWord,jsp 普通用户给管理员留言的页面\
Logs.jsp 日志管理页面包括显示日志(分页显示),删除日志
addlog.jsp 添加日志页面
userdata.jsp 用户信息管理页面,修改用户资料
friend.jsp 用户朋友管理页面,包括朋友列表,删除朋友 addFriend.jsp 查找后添加好友页面
fndex 朋友个人首页
wishe.jsp 用户许愿页面
Admin.jsp 管理员删除不合法的许愿,用户,登录页面 u_leaveword.jsp 用户留言的页面
Browserlog.jsp 查看具体的留言信息
Linkus.jsp 联系我们静态页面
Products.jsp 对本系统的总体说明的静态页面
Aboutus.jsp 关于我们信息的静态页面 3) 各种类功能的说明
Vo类:用户(包括好友信息):user
图片:picture
日志: log
留言: leaveWord
许愿:wishes
管理员:admin
提示类: friends_prompt,log_prompt,picture_prompt
8
Dao类:
日志模块:logDAO
logDAOipm
好友模块:friendDAO
FriendDAOipm
图片模块:pictureDAO
PictureDAOipm
注册模块:registDAO
RegistDAOipm
许愿模块:wishDAO
WishDAOipm
查询模块:searchDAO
searchDAOipm
个人资料管理模块:userDao
UserDAOipm
Control(控制类):userActionDispatch
PictureActionDispatch
FriendActionDispatch
logActionDispatch
WishActionDispatch
UserIndexAction
SearchActionDispatch
9
4.4 系统数据库设计
picture_promptlog_promptid
Variable characters (10)idVariable characters (10)contentVariable characters (20)contentVariable characters (20)Identifier_1Identifier_1
adminidVariable characters (10)nameVariable characters (10)passwordVariable characters (10)admin_logIdentifier_1pictureidVariable characters (10)adm_idVariable characters (10)admin_leavewordtitleVariable characters (10)showTextadmin_PurlVariable characters (20)leaveWordidVariable characters (10)adm_idVariable characters (10)use_idVariable characters (10)contentTexttimeDate & Timeuser_leavewordloguer_picIdentifier_1idVariable characters (20)adm_idVariable characters (10)usertitleVariable characters (10)contentTextidVariable characters (10)timeTimestampfri_idVariable characters (10)u_loguse_idVariable characters (10)nameVariable characters (20)passwordVariable characters (20)countryVariable characters (10)user_usercityVariable characters (10)addressVariable characters (50)phoneVariable characters (11)zipVariable characters (6)emailVariable characters (20)friends_promptididVariable characters (10)friends_usercontentVariable characters (20)Identifier_1user_wishes
wishesidVariable characters (10)use_idVariable characters (10)contentTextIdentifier_1
4.5界面设计
登录首页:
10
注册页面:
11
后台管理界面:
12
空间主页面:
添加日志页面:
13
用户留言页面:
14
5.系统的开发环境平台
开发工具:jdk1.6.0 + MySql + MyEclipse_6.5
开发环境:windowsXP
6. 总结
心得体会:
需求分析是项目开发的关键
数据库的设计关系到整个项目的进展,没有成功合理的数据库结构软件开发将无中心可寻。
本次课程设计中我尝试使用:ajax+struts+hibernate ,ajax+servlet+sql;
Json, ml作为数据回传格式。在这些技术结合中,我们深刻的体会到在相同环境下,用hibernate对数据库进行操作效率较慢,而用sql则用户响应较快。 可以深刻的体会到,HTML静态页面的重要性,没有一个漂亮的页面,用户体验较差。
在本课程设计中,我明白了理论与实际应用相结合的重要性,并提高了自己
web程序的能力。培养了基本的、良好的程序设计技能以组织数据及编写Java
及合作能力。这次课程设计同样提高了我的综合运用所学知识的能力。并对
15
MyEclipse有了更深入的了解。
总的来说,本次课程的学习和课程设计过程当中让我对Java web开发有了更加深刻和越发清晰的认识,也让我在技术和知识上有了更大的提高;另一方面,通过本次开发,我也更加清楚的认识到在技术经验和基本知识技能方面的欠缺,给了我更大的动力去探索和学习Java web开发的相关知识。
16