JSP邮件系统副本.docx
《JSP邮件系统副本.docx》由会员分享,可在线阅读,更多相关《JSP邮件系统副本.docx(21页珍藏版)》请在冰豆网上搜索。
JSP邮件系统副本
武汉理工大学华夏学院
课程设计报告书
课程名称:
JAVA语言课程设计
题目:
基于JAVA的邮件管理系统的设计与实现
系名:
信息工程系
专业班级:
软件2101
姓名:
张立凯
学号:
10225610103
指导教师:
凌伟
2013年1月23日
课程设计任务书
学生姓名:
张立凯专业班级:
软件2101
指导教师:
凌伟工作单位:
信息工程系
设计题目:
基于JAVA的邮件管理系统的设计与实现
初始条件:
本课程设计的目的是通过实践使同学们经历JAVAWEB项目开发的的全过程以便能较全面地理解、掌握和综合运用所学的JAVA知识。
结合具体的开发案例,理解并初步掌握系统分析、系统设计、系统实施的主要环节和步骤以及软件文档的制作能力。
要求完成的主要任务:
要求学生根据所学的JAVA知识,使用jsp+sqlserver开发一个小型的邮件管理系统,完成该系统的需求分析,概要设计、详细设计,编码及测试等,完成题目要求的功能。
主要任务:
用户有以下需求:
登录注册、邮件收发、邮件管理、通讯录管理等功能。
具体要求如下:
1.登录注册
该模块包括用户的注册,系统的登录记住接口的设计。
因为所有的系统维护都是主机的系统管理员在后台进行,所以身份认证只考虑普通用户。
已注册的用户在正确输入用户名和密码以后就可以登录进入邮件列表的接口。
未注册的用户需要进入注册接口,输入新的用户名、密码以及确认密码和一些必要的用户信息才能注册,注册成功以后系统自动返回登录界面,重新登陆后方可进入系统的主接口
2.邮件收发
该模块实现用户收发邮件的功能,包括邮件的读取功能、邮件的编辑功能,邮件的列表功能,邮件的转发功能,邮件的已读未读设置功能以及邮件附件的添加功能。
编辑功能为用户提供了编写邮件的接口,用户在这个接口可以填写要发送的地址、邮件的标题、邮件的内容,添加附件,设置邮件的优先级并且可以发送邮件。
邮件列表功能可以告诉用户邮箱中有多少封邮件,有哪些是新邮件。
点击可以进入读取邮件的接口,阅读相应的邮件。
在邮件列表中还可以对邮件进行管理
3.邮件管理
用户通过邮件管理模块可以实现邮件的删除,邮件的下载等功能。
在邮件列表接口里,每条邮件信息之前有个复选框,选择上复选框在点击删除按键就会删除所选择的邮件。
每条邮件信息内部有一个超级链接,通过点击进入邮件可以下载邮件中的附件内容。
这样用户就可以一目了然的管理自己的邮件。
4.通讯录管理
该模块的功能是说明用户管理联系人的邮件地址,可以对地址进行分类。
添加、删除或修改地址。
用户在发邮件的时候可以直接从所有地址中导出他所需要的一个或多个地址。
设计报告撰写格式要求:
要求层次清楚、整洁规范、不得相互抄袭,凡正文内容有整段完全相同者一律以抄袭论处。
设计报告正文字数不少于0.2万字(不包括附录)
第1级(章)题序和题名用黑体三号字,
第2级(目)题序和题名用黑体小四号字,
第3级(条)题序和题名用黑体小四号字,
正文内容用宋体五号字(英文用新罗马体),多倍行距1.25。
报告内容一律使用A4打印纸计算机打印,页码在页下居中标明。
必须使用国家公布的规范字。
页面设置:
上空2.5cm,下空2.0cm,左空2.5cm,右空2.0cm(左装订)。
插图图面要整齐、美观,插图应与正文呼应,不能脱节。
每幅插图应有图序与图题,图序编号要连续,图序与图题间空一格且要放在插图下方居中处。
时间安排:
消化资料、系统调查 1天
系统分析、总体设计,实施计划、撰写报告 3天
演示、验收 1天
指导教师签字:
凌伟2013年1月18日
系主任签字:
年月日
1、系统需求及可行性分析
1.1系统设计目标
为使用者提供一个具有简单美观的操作界面,通俗易懂的收发电子邮件环境,结构清晰。
系统之间层次要清楚分明,基本实现各项基本功能。
使用户可以方便的进行电子邮件的收发和通讯簿管理功能的实现。
1.2系统可行性分析
随着电子计算机,信息技术以及网络在我国普及,越来越多的人已经具备基本的计算机操作常识,加上网络的发展,人们之间的联系和交流越来越重要了,而书信和电话的单调性已经无法满足人家的需求了.电子邮件系统不但能进行音乐,图像,文件等的传送.符合用户需求的多样化。
由于该电子邮件系统的设计简单又美观的操作界面,通俗易懂的收发电子邮件环境。
适合掌握计算机操作常识,对该电子邮件系统操作用户,无需有专业计算机知识,只会windows浏览器的人就能使用。
该系统更大众化。
2、系统总体分析
2.1系统总体结构
本系统采用B/S模式的三层体系结构即客户浏览器,应用服务器,数据库系统,如图所示:
图2-1B/S模式的三层结构
第一层客户机为用户与整个系统的接口。
客户端的应用程序简化到一个通用的浏览器,由它来解释HTML,显示网页内容。
这里网页具有一定的交互功能,支持用户在网页提供的表单上输入信息提交给后台,并提出处理请求。
这里的后台即第二层的WEB服务器。
第二层WEB服务器将启动相应的进程来响应浏览器的请求,并动态生成嵌入处理结果的HTML代码返回给客户机浏览器。
如果客户机的请求还包括数据存取,WEB服务器还需与数据库服务器协同完成这一处理任务[11]。
第三层数据库服务器的任务类似于C/S模型,负责协调不同WEB服务器发出的SQL请求,管理操作数据库。
2.2系统总体分析
本系统中主要涉及到用户,邮箱,信件三个实体,它们之间有着这样的关系。
用户使用信箱,信箱里装有信件,一个信箱里可以存放多封信件因此是1:
N的对应关系。
用户要收发和操作信件。
他们之间的关系用E-R图分别表示如下列图所示:
图2-2用户与信箱E-R图
图2-3信箱与信件E-R图
图2-4用户与信件E-R图
图2-5程序流程图
2.3系统功能模块分析
图2-6系统功能主要模块
系统功能模块总体框架:
(1)邮箱申请功能模块:
用户可以通过申请注册使用。
主要是完成收集,存用户注册时填写的信息。
(2)用户登陆模块:
主要功能用户登陆的ID与存档ID进行验证。
(3)邮箱管理功能模块:
用户可以对所有信件进行操作,编辑,删除。
个人资料管理填写。
(4)邮件收发功能模块:
主要是用户收信模块方便查看信件的主题,大小及信件详细内容等,发信模块可以对内容的编辑,指定收件人。
(5)读邮件功能:
提供用户阅读收信箱里信件。
(6)通讯录管理:
主要对联系人编辑操作,如添加,删除,修改。
3、系统设计
3.1电子邮件收发系统的开发环境
本系统是在WindowsXPSP2环境下开发实现的,所用到的开发工具myeclipse首先系统上要安装myeclipse,安装服务器端Tomcat,JDK版本是1.4,数据库采用的是MicrosoftSQLServer2005。
。
3.2各主要功能模块设计
(1)电子邮件收发系统登陆/注册模块设计
这个模块包括用户登录,身份验证,用户的信息填写等这些功能。
需要用户填入ID和密码进行登录。
输入的用户ID,和密码进行匹配,匹配成功则能进入系统进行操作,匹配失败提示错误信息.新用户注册需要填写用户名和个人基本信息,如果注册成功则用户的基本信息存入到数据库表中,注册失败则会提示错误信息.如登录/注册流程图4-1所示。
图3-1登陆和注册的流程图
(2)电子邮件收邮件功能模块
在用户登陆系统成功后,进入到该系统邮件的操作界面,而收件箱是主界面重要的功能模块,收件箱是用户收取邮件的地方,存放着用户收到的全部信息,点击收件箱就会把你邮件全部列出来.包含已经读和未读邮件。
邮件信息包含邮件是否有附件,邮件主题,发件人,邮件日期,大小等。
也可通过点击信件来查看信件内容。
(3)电子邮件发邮件功能模块:
用户登陆系统成功后,进入到电子邮件发送模块,此模块用户能进行邮件的发送,邮件内容的编辑操作,保存等功能。
(4)通讯录管理:
用户添加新联系人的邮箱地址和删除存在的联系人。
3.4各数据表设计
1.用户表
用户表是用来保存用户相关信息,包括用户ID,密码,联系方式等。
各数段说明及结构如表3-1所示。
表3-1用户表
字段
类型
大小
允许空值
说明
Id
Int
4
NotNull
用户id,关键字
password
varchar
50
NotNull
密码
user
varchar
50
NotNull
用户帐号
Displayname
varchar
50
Null
昵称
Sex
char
10
Null
性别
2.通讯簿表
通讯簿是用来保存用户常用联系人信息的表。
主要包含的字段有联系人ID,联系人的邮箱地址,联系人的昵称等如表3-2所示:
表3-2通讯簿表
字段
类型
大小
允许空值
说明
Id
int
4
NotNull
联系人Id
F_user
varchar
50
NotNull
联系人帐号
F_friend
varchar
50
Null
联系人昵称
3.邮件表
邮件表是用来保存接收到的邮件信息表,包括邮件的状态(已读和未读),邮件发送人邮件地址,邮件主题,邮件大小,附件等信息。
如表3-3所示。
表3-3邮件表
字段
类型
大小
允许空值
说明
Id
Int
4
Notnull
邮件id,关键字
state
varchar
2
Notnull
0表示已读,1表示未读
sender
varchar
50
Notnull
发件人的邮箱
send
varchar
50
Null
发件人的姓名
title
varchar
50
Null
邮件主题
daxiao
int
4
Null
邮件大小
dates
datetime
8
Null
邮件发送日期
zhuangtai
varchar
2
Null
0表示未删除,1表示已删除
receiver
varchar
50
Null
收件人
content
text
20
Null
邮件内容
4.回收表:
回收表是用来保存草稿信件和发送不成功信件或用户删除的邮件。
它包括发件人,收信人,邮件状态(删除的和发送不成功的)邮件主题等新信息.如表4-5所示:
表3-4垃圾箱表
字段
类型
大小
允许空值
说明
Id
Int
4
Notnull
回收邮件id,关键字
receiver
Varchar
50
Null
收件人
sender
Varchar
50
Null
草稿所属用户
contents
Text
16
Null
邮件内容
states
Varchar
50
Null
0表示删除信件,1表示未发出的
dates
Datetime
8
Null
邮件创建或发送日期
title
Varchar
50
Null
邮件主题
5.发件箱表:
发件箱是用来保存用户成功发送出去的邮件。
它包括收信人,邮件主题的等信息。
如图3-5所示:
表3-5发件箱表
字段
类型
大小
允许空值
说明
Id
Int
4
NotNull
发件箱Id关键字
receiver
varchar
50
NotNull
收件人
title
varchar
50
Null
邮件主题
dates
datetime
8
Null
邮件发送日期
4系统代码设计
4.1各个模块的详细设计
1.电子邮件收发系统登陆/注册
该界面主要功能是当用户运行该系统时,登陆界面如图,用户登陆要填写用户名和密码进行登陆。
登陆时没有正确输入用户信息,可能出现一些错误。
正确的输入着成功进入邮件收发系统进行操作。
反之提示登陆失败。
图4-1系统登陆界面
关键代码:
<%@pagecontentType="text/html;charset=GBK"%>
<%@includefile="INC/const.jsp"%>
<%@pageimport="net.acai.forum.*"%>
<%@includefile="INC/theme.jsp"%>
<%
userName=ParamUtil.getString(request,"userName","");
userPassword=ParamUtil.getString(request,"userPassword","");
intcookieDate=ParamUtil.getInt(request,"cookieDate",0);
StringcomeURL=ParamUtil.getString(request,"comeURL","");
try{
SkinUtil.userLogin(request,response,1);
stats="登录成功";
out.println(headLine(forumID,forumName,forumLogo,"",1,stats));
%>
URL=usersms.jsp?
action=inbox'>
align=center>
|
">">状态:
您已经登录电子邮件收发系统成功
|
">
<%
}
catch(Exceptione)
{
stats="登录失败";
out.println(headLine(forumID,forumName,forumLogo,"",1,stats));
StringerrMsg=e.getMessage();
%>
2.电子邮件收发系统主界面
这个界面是该电子邮件系统登陆成功后进入系统操作的第一个界面,也是系统实施操作的主界面,该界面上有各功能对应的按钮,用户可以根据所需的功能操作选择相应按钮操作。
用户选择相应的按钮,系统会自动跳到该选择按钮的对应界面。
用户可以点击‘收件箱’按钮对已收到的信件进行操作。
进入‘收件箱’界面会把已收到信件列出来。
信件发件人,主题,大小等信息。
点击其中的某封邮件可查看该邮件的具体内容。
用户也可以根据个人需要可对‘收件箱’信件进行删除功能。
如图所示:
图4-2系统收信件界面
关键代码:
<%
SkinUtil.checkUserStats(request,response);
if(SMSManager.checkSMS(request)){
SMSMSGsms=SMSManager.getNewSMS(request);
if(sms!
=null){
out.println("9pt;\">>
openScript('usersms.jsp?
action=read&id="+sms.getID()+"&sender="+sms.getSender()+"',420,320)>您有新邮件