J2EE程序设计课程设计报告Word文件下载.docx
- 文档编号:17521259
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:12
- 大小:376.49KB
J2EE程序设计课程设计报告Word文件下载.docx
《J2EE程序设计课程设计报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《J2EE程序设计课程设计报告Word文件下载.docx(12页珍藏版)》请在冰豆网上搜索。
1.系统功能模块框图
图1系统功能模块框图
2.各功能的具体实现内容
1)用户注册模块:
用户输入的注册信息包括,用户名、用户密码、用户真实姓名、手机号、Email、QQ号码。
在用户注册模块要求检查用户名是否已存在,检查输入Email是否存在,如果存在则不让用户注册。
2)用户登陆模块:
用户打开登陆模块,要求用户输入用户注册的用户名以及对应密码,用户密码验证成功,则加载用户的相关信息,包括用户的好友列表,粉丝列表,已广播微博信息以及关注好友发送的微博信息。
3)好友管理模块:
该模块登陆用户可以查看到自己已添加的好友列表,添加新注册用户为自己的好友,删除自己已添加的好友。
4)粉丝查看模块:
登陆用户可以通过该模块看到自己的粉丝列表(即将当前用户添加为好友的用户列表)。
5)微博管理模块:
登录用户可以使用该模块查看自己以广播的微博信息,并对广播的微博信息删除,查看好友广播的微博信息。
二、功能实现流程图
1.系统主功能
图2系统主功能实现流程图
2.异步刷新好友微博信息功能
图3异步刷新的方式显示最新的好友发布的微博信息功能实现流程图
三、数据库设计
1.数据库E-R图
图4数据库E-R图
2.数据库表设计
1)表名:
_user
2)说明:
存储用户的基本信息
3)表结构
表1_user表结构设计
字段名
类型
长度
主外键
可否为空
备注
id
int
PK
notnull
用户id,自增
name
varchar
45
用户登录名
password
150
用户密码密文
reg_date
datetime
null
用户注册日期
fan_num
用户粉丝数量
edite_date
用户信息修改日期
real_name
真实姓名
cell_phone
20
用户手机号
用户Email地址
qq_num
用户QQ号
_friend
存储用户的好友信息
表2_friend表结构设计
记录id,自增
userid
FK
用户的ID号
friendid
所加好友的ID号
1)
表名:
_blog
存储用户发送的微博信息
表2_blog表结构设计
微博id,自增
type
1文字,2图片微博
content
500
微博内容
publishe_date
微博发布时间
image
200
图片URL
用户ID
四、程序设计
1.程序分层设计结构图
图5程序分层设计结构图
2.所使用框架的配置过程
1).Struts2的配置
a.用过Myeclipse的为工程添加StrutsCapabilities,选择Struts版本如下图,web即完成struts2的filter以及文件的相关配置
需要为工程添加action在中进行相关配置。
2).Hibernate配置
a.用过Myeclipse的为工程添加HibernateCapabilities,不添加文件,也不需要HibernateSessionFactory(后面和Spring集成,不需要这个配置文件了)。
b.通过HibernateReverseEngineering生成Hibernate与数据库的映射文件以及Model。
3).Spring配置
a.同样为工程添加SpringCapabilities,在添加context-param传递参数contextConfigLocation把值设置为Spring的配置文件地址。
同时设置Spring的listener如下图
完成配置后工程结构如下图:
在包下面存放Hibernate的映射文件
在包存放Spring的DI相关的配置信息
在包包中配置了数据源以及SessionFactory的信息
3.功能实现的主要代码
1).JS用户好友微博信息实时刷新
/**
*ajax加载好友的微博信息
*/
functionloadFriendsBlogs(){……
friendsBlogInterval=(function(){
$.ajax({
type:
"
POST"
url:
user/Blog_getFriendsNewBlogsformat=json&
showedCount=0&
requestCount=10&
beginDate="
+beginDate,
success:
function(result){
beginDate=result["
updateDate"
];
if(result["
blogs"
].length>
0){
for(vari=0,l=result["
].length;
i<
l;
i++){
if(result["
][i]["
type"
]==1){
$("
#friends-blog-user-success"
).html(
……
);
}else{
}
}
$("
#friends-blog-loading-faild"
).hide();
).show();
}
}
});
},10000);
务器端查询出用户新发布微博关键代码
五、设计经验总结
1.对框架使用的体会
在web开发过程中使用了框架,更能专注于业务逻辑的开发。
在我对框架的使用中,对使用Struts2好处的体会颇深,以前用servlet写web程序时候,接收参数是一个比较麻烦的问题,乱码的问题,让你不得不去处理各种原因引起的乱码,同时对参数的接收也不得不去写……这样繁琐的方法,有了Struts2只需要给对应的Action中提供对应属性的setter,struts2即可自动为我们完成参数的赋值。
再说使用Hibernate,Hibernate作为持久层的一个优秀的框架,完成了数据库到java对象的映射,之前自己通过JDBC连接数据库,写Sql语句是很繁琐的事情,现在在Hibernate下面变得非常简单。
最后Spring,以前没使用Spring的时候没怎么体会到Spring的好处,说实话现在用了Spring也没在我的这个小项目中体会到他的优势,在SSH整合中Action的实例化由Spring容器来管理了,而Spring对Action的管理成为了单例模式,所以以前我在使用Struts2的习惯在整合了Spring后遇到了点不是很方便的问题,没具体去测试Spring管理的Action是对和用户单个Session是一个单例还是对所有的用户都是一个单例。
总的来说SSH给web开发带来了很多方便的地方,学习框架,主要应该是体会设计的思想,升入理解MVC模式。
在使用框架过程中,框架在给我们的使用带来方便的同时也带来了一些陷阱。
2.代码实现和调试经验总结
Spring对Action的管理是采用的单例模式,之前刚编写代码的时候对这个模式的不够了解,让我在Action对一个在之前被赋值为null的变量老是出现nullpointer异常信息。
3.设计不足总结
在设计中仅对用户好友的广播实行是实时刷新,未对用户粉丝列表做实时刷新的实现。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- J2EE 程序设计 课程设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)