电子邮件收发系统
Web技术与
大作业报告
目: 电子邮件收发系统
专 业:软 件 工 程 年 级: 112 级 学号: 2011014320 姓名: 余仲凯 指导老师:刘晓利
目 录
摘要: ......................................................................................................................... 1
引言 ............................................................................................................................. 2
1需求分析 .................................................................................................................. 2
1. 1 安全需求 ........................................................................................................ 2 1.2 性能需求 ........................................................................................................ 2 1.3 功能需求 ........................................................................................................ 2 2系统开发模式及技术 ............................................................................................... 2
2.1 JSP简介 ......................................................................................................... 3 2.2 JSP的特点 ..................................................................................................... 3 2.3 JSP技术 ......................................................................................................... 3 2.4 访问WEB数据库常见技术 ............................................................................. 4 2.5 本系统采用的数据库访问技术 ..................................................................... 4
................................................................................................. 5 2.6 B/S开发模式
3总体设计 .................................................................................................................. 5
3.1 系统功能描述 ................................................................................................ 5 3.2 E-R模型 ......................................................................................................... 5 3. 3 系统
图 .................................................................................................... 7 3.4 数据流图 ........................................................................................................ 8 3.5 系统功能模块划分 ........................................................................................ 8 3.6 数据库设计 .................................................................................................... 8 4详细设计 ................................................................................................................ 10
4.1 前台系统的设计 .......................................................................................... 10 4.2 后台管理系统的设计 ................................................................................... 13 总结 ........................................................................................................................... 15
致谢 ........................................................................................................................... 16
参考文献: ............................................................................................................... 16
摘要:随着Internet的迅速发展,社会已经进入了网络时代,人们越来越倾向于从Internet获取信息。
本系统利用jsp动态网页技术和sql Server 2000数据库,以mvc模式开发,实现。
JSP是由Sun Micmsystems公司倡导,多家公司参与一起建立的一种动态网页技术
,它为创建动态Web应用提供了一个简捷而快速的方法。其优势
现在以下方面:JSP技术是基于平台和服务器独立的:JSP内置支持XML技术,使得开发者能够定制自己的标签;JSP对数据库的访问主要通过JDBC来实现的。对于只支持ODBC的数据库,可以通过JDBC—ODBC Bridge来实现访问;JSP的安全性很高,它在执行前要编译成字节码,再由Java虚拟机执行。
关键词: jsp; sql Server 2000; 电子邮件;
1
引言
电子邮件Intranet/Intemet上一项非常重要的服务闭,给人们的工作和生活带来很大的便利。然而很多用户使用的电子邮件服务是由几家大网站提供的,很少有公司或单位拥有自己的电子邮件系统。如果拥有自己的电子邮件系统,会让信息的传送更加快捷方便、安全可靠,并且能更大程度上满足个性化的需要。本文实用JSP技术实现了电子邮件系统的核心功能,现将其设计思路和具体编程实现介绍如下。
1需求分析
1.1 安全需求
采用sql server 2000 数据库了安全性能较高,采用mvc模式,是代码变得更强壮; 1.2 性能需求
1)时间要求
一般操作的响应时间应在2-4秒内,对后台数据库的操作也应在可接受的时
间内完成。
2)数据精确度要求
要求输入、输出数据;删除,修改记录等要保证关键字的完整性。 1.3 功能需求
1. 登录管理:包括用户注册、登录和找回密码。
, 注册新用户:用户可以通过申请注册使用。主要是完成收集,存用户注
册时填写的信息。(没实现)
, 用户登录:主要功能用户登录的用户名密码与数据库中的信息进行验证。
登录成功后可以修改个人密码,管理员还可以管理用户信息。
2. 邮件收发:包括写邮件、收邮件、发送邮件。
, 写邮件:包含发送的主题,邮件文本内容,可以添加附件。
, 发送邮件:选择发送方式,如发送或保存;对非法邮件进行拦截。
, 收邮件:获得新邮件,对新邮件进行过滤分类。
3. 邮箱管理:包括收件箱,草稿箱,发件箱和垃圾箱。
, 收件箱:可以查看邮件,下载邮件的附件,删除无用的邮件。
2
, 草稿箱:用户可以对保存的邮件进行查看和删除。
, 发件箱:用户可以查看曾发送的邮件,删除记录。
, 垃圾箱:可以选择彻底删除垃圾邮件,或者还原邮件。
4. 通讯录模块:包括建立通讯录、查看通讯录和删除通讯录。 , 新建通讯录:主要包括添加联系人的基本信息。
, 查看通讯录:主要对联系人管理操作,如删除指定联系人。 , 群发邮件:通过单击“选择通讯录”可以对指定联系人群发邮件。
2系统开发模式及技术
2.1 JSP简介
JSP是由SunMicrosystems 公司倡导、许多公司参与一起建立的一种动态技术标准。在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段 (Scriptlet)和JSP标签,就构成了JSP网页java程序片段可以操纵数据库、重新定向网页以及发送E-mail等,实现建立动态网站所需要 的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,这样大大降低了对客户浏览器的要求,即使客户浏览器端不支持Java,也可 以访问JSP网页。
JSP全名为java server page,其根本是一个简化的Servlet设 计,他实现了Html语法中的java扩张(以 <%, %>形式)。JSP与Servlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。Web 服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户端。插入的Java程序段可以 操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网 页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基 于Web的应用程序的开发变得迅速和容易。 JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。
JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处 理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。
自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。
2.2 JSP的特点
(1)一次编写,到处运行。除了系统之外,代码不用做任何更改。
3
(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP的局限性JSP的优势是显而易
[1]见的。
(3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
(4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
(5)支持服务器端组件。web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。JSP可以使用成熟的JAVA BEANS 组件来实现复杂商务功能。
2.3 JSP技术
用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面,并使用JSP标识或者小 脚本来生成页面上的动态内容(内容是根据请求变化的,例如请求账户信息或者特定的一瓶酒的价格等)。生成内容的逻辑被封装在标识和JavaBeans组件 中,并且捆绑在脚本中,所有的脚本在服务器端运行。由于核心逻辑被封装在标识和JavaBeans中,所以Web管理人员和页面设计者,能够编辑和使用 JSP页面,而不影响内容的生成。
在服务器端,JSP引擎解释JSP标识和脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用 JDBC技术访问数据库或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这既有助于作者保护自己的代码,又能保证任何基于 HTML的Web浏览器的完全可用性。
2.4 访问WEB数据库常见技术
Java中连接数据库的技术是JDBC,Java程序通过JDBC驱动程序与数据库相连,执行查询、提取数据等操 作。Sun公司还开发了JDBC,ODBC bridge,利用此技术Java程序可以访问带有ODBC驱动程序的数据库,大多数数据库系统都带有ODBC驱动程序,所以Java程序能访问诸如 Oracle、Sybase、MS SQL Server和MS Access等数据库。
此外,通过开发标识库,JSP技术可以进一步扩展。第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来进行工作。
JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且能扩展到支持企业级的分布式应用中。作为 采用Java技术家族的一部分,以及Java 2(企业版体系结构)的一个组成部分,JSP技术能够支持高度复杂的基于Web的应用。 由于JSP页面的内置脚本语言是基于Java的,而且所有的JSP页面都被编译成为Java Servlets,所以JSP页面具有Java技术的所有好处,包括健壮的存储管理和安全性。作为Java平台的一部分,JSP拥有Java编程语言“一 次编写,各处运行”的特点。
4
2.5 本系统采用的数据库访问技术
利用JDBC的SQLSERVER驱动
2.6 B/S开发模式
本系统采用B/S模式的三层体系结构即客户浏览器,应用服务器,数据库系统,如图所示:
请求 请求
浏览器 服务器 数据库
响应 响应
第一层 客户机为用户与整个系统的接口。客户端的应用程序简化到一个通用的
浏览器,由它来解释HTML,显示网页内容。这里网页具有一定的交互功
能,支持用户在网页提供的表单上输入信息提交给后台,并提出处理请
求。这里的后台即第二层的WEB服务器。
第二层 WEB服务器将启动相应的进程来响应浏览器的请求,并动态生成嵌入处理
结果的HTML代码返回给客户机浏览器。如果客户机的请求还包括数据存[11]取,WEB服务器还需与数据库服务器协同完成这一处理任务。 第三层 数据库服务器的任务类似于C/S模型,负责协调不同WEB服务器发出的SQL
请求,管理操作数据库。
3总体设计
3.1 系统功能描述
1. 登录管理模块:对用户身份进行验证以及权限的设置等。本模块分三个子模
块,注册新用户模块的功能是向系统注册新用户的基本信息;用户登录模块
的功能是使用本系统上注册的用户名和密码登录;修改密码模块的功能是通
过先验证用户原密码然后修改成新密码。
2. 邮件收发模块:对用户的邮件收发进行详细的管理。本模块分为三个子模块,
写邮件模块的功能是用来录入邮件的内容;收邮件模块的功能是用来接收、
过滤并分类邮件信息;发送邮件模块的功能包括操作方式(发送和保存到草
5
稿箱)和存储邮件。
3. 邮箱管理模块:是对邮箱中的邮件信息进行详细的管理。本模块分为四个子
模块,收件箱的功能是用来查看和删除邮件;发件箱模块的功能是用来存储
用户发送过的邮件信息;草稿箱模块的功能是实现对保存的邮件进行编辑和
删除;垃圾箱模块的功能是用来存放垃圾邮件和用户删除的邮件。 4. 通讯录管理模块:是对所有联系人的信息管理。本模块分为三个子模块,新建通讯录模
块的功能是联系人信息;查看通讯录模块的功能是列出所有联系人的信息进行查看和删
除;删除通讯录模块的功能是删除单个联系人的操作;邮件群发是在通讯录列表中选择
指定联系人群发邮件。
3.2 E-R模型
本系统中主要涉及到用户,邮箱,信件三个实体,它们之间有着这样的关系。用户使用信箱,信箱里装有信件,一个信箱里可以存放多封信件因此是1:N的对应关系。用户要收发和操作信件。他们之间的关系用E-R图分别表示如下列图所示:
草稿箱
密码
已发信件 1: 1 用 信用户名
设置 户 箱
邮箱 收信箱
用户与信箱 E-R图
收件人
草稿箱 内容
1: N 已发信件 大小 信信包含 件 箱
主题
日期 收信箱
6
信箱与信件 E-R图
收件人 内容 密码
1: N 大小 信 用 发送 件 用户名 户
主题 邮箱 日期
用户与信件 E-R图
3.3 系统流程图
NO YES 退出 收信
用 身份 主操户系统 作页登验证 面 陆
附件写信
发 送
发送失败
失败
7
3.4 数据流图
系统的顶层数据流图
3.5 系统功能模块划分
(1) 邮箱申请功能模块:用户可以通过申请注册使用。主要是完成收集,存
用户注册时填写的信息。
(2) 用户登陆模块:主要功能用户登陆的ID与存档ID进行验证。 (3) 邮箱管理功能模块:用户可以对所有信件进行操作,编辑,删除。个人
资料管理填写。
(4) 邮件收发功能模块:主要是用户收信模块方便查看信件的主题,大小及
信件详细内容等,发信模块可以对内容的编辑,指定收件人。 (5) 读邮件功能:提供用户阅读收信箱里信件。
(6) 通讯录管理:主要对联系人编辑操作,如添加,删除,修改。 3.6 数据库设计
草稿箱:
8
收件箱:
发件箱: 垃圾箱: 通讯录: 用户:
9
4详细设计
4.1 前台系统
登陆界面:
主要代码:function check1()
{
if(document.ThisForm.userName.value=="")
{
alert("请输入用户名");
document.ThisForm.userName.focus();
return false;
}
if(document.ThisForm.userPw.value=="")
{
alert("请输入密码");
document.ThisForm.userPw.focus();
return false;
}
if(document.ThisForm.userType.value=="-1")
{
alert("请选择登陆身份");
10
document.ThisForm.userType.focus();
return false;
}
document.getElementById("indicator").style.display="block";
loginService.login(document.ThisForm.userName.value,document.ThisForm.userP
w.value,document.ThisForm.userType.value,callback);
}
function callback(data)
{
document.getElementById("indicator").style.display="none";
if(data=="no")
{
alert("用户名或密码错误");
}
if(data=="yes")
{
alert("通过验证,系统登录成功");
window.location.href="<%=path %>/loginSuccess.jsp";
}
}
function reg()
{
window.location.href="<%=path %>/userReg.jsp";
}
和
电子邮件 |
|
|
12
|
|
4.2 后台管理系统的设计
登陆后界面:
主要代码:
电子邮件系统 |
您好:
13
[注销退出]
[显示主框架] 和
- 基本操作
-
- 邮件操作
-
- 我的通讯录
14
-
- 我的通讯录
-
添加通讯录
- 邮件群发
总结
在Web技术的发展过程中,软件体系所采用的方式由早期的基于C/S (Client/Server)模式应用系统向基于B/S(Brower/Server)模式应用系统进行了改变。邮件管理系统是基于B/S模式应用的系统,它解决了传统的网站系统不能够很好的集成和维护的缺点,采用较灵活的Struts2的框架进行系统设计,使得系统具有很好的维护性和可扩展性。
邮件管理系统建设的难点,关键是适应多变的应用需求,如何快速高效的建设各类管理信息系统成为困扰开发者的一大难题。在实际的系统开发中,首先设计出共性的软件开发框架,然后随着研究的深入和应用的拓展,不断地完善框架基础上的构件,逐步形成合理的网站系统,无疑是一种良好的解决方法。
我在进行毕业设计的过程中,不断地遇到各种问题,然后分析问题产生的原因进而想方设法解决问题。这样一方面使系统的设计逐步完善,另一方面使自己不断积累软件设计方面的技巧。其中一些比较深刻的经验体会,首先要根据软件工程来制定出一套适合自己的软件开发时间和进程,严格按照时间和进程来进行操作,然后是一定要做好系统分析,系统开发的关键在于对系统进行需求分析,在开发一个系统的初期,首先要对系统的整个工作流程,需要实现的功能,用户的需求等进行充分的分析。在做好需求分析的前提下才能顺利的完成整个系统的开发,否则可能会在开发的过程中出现不断修改不断出错的问题,甚至是一段时间后发现之前所做的设计与要求相去甚远而必须丢弃重做。这将给系统的开发带来很大的麻烦,甚至直到最后也未能达到理想的开发效果。其次是开发数据库应用系统一定要做好数据库的分析与设计,完全整理通顺系统中的数据流图,各部分E-R图和系统总体E-R图后才进行数据库的逻辑结构设计。我就因为开始设计数据库中的邮件存储不合理,导致程序做出来后删
15
除后的邮件在邮箱中出现错误,结果要重新设计数据库和重新写数据访问层的程序,甚至有点耽误了进度,所以数据库的设计十分重要,需要仔细考虑。
这次开发的邮件管理系统在基本功能上已经完成,设计了邮件系统所有功能块,系统的关键部分主要集中在通信簿的管理和邮件管理两部分上。该系统可以根据需求对功能进行扩展和完善。另外,此邮件系统可以作为某一系统的某一部分,可以把此系统作为组件形式,稍作修改添加到所要开发的系统中。
致谢
近一个学期的毕业设计已经结束了,在这段设计时间里,我得到了许多师生的关心和帮助,尤其是我的指导教老师,非常感谢我的导师老师。
我要感谢在整个毕业设计期间提供给我任何形式上帮助的同学和朋友们,正因为有了大家的帮助,才使我能够顺利的完成毕业设计课题。
通过这次毕业设计,使我学到了很多技术和业务知识,为今后的工作和学习积累了大量的宝贵经验。在此,我再一次向他们表示衷心地感谢~
参考文献:
[1]闫术卓,杨强(Struts2技术详解:基于WebWork核心的MVC开发与实践(电子工业出版社,2008
[2]高红岩(Struts实用开发指南——基于MVC+MyEclipse的Java Web应用开发(科学出版社,2008
[3]李刚(Struts2权威指南——基于WebWork核心的MVC开发(电子工业出版社,2007
[4] 李刚(轻量级Java EE企业应用实战——Struts2+Spring+Hibernate整合开发( 电子工业出版社,2008
[5]孙更新,宾晟,宫生文(Java程序开发大全:基于MyEclipse平台+Struts+Hibernate+Spring主流框架开发(中国铁道出版社,2010
[6]张孝祥,方立勋( Java邮件开发详解(电子工业出版社,2007
[7]赵慧勤,张景安,傅文博等(网络数据库应用技术(机械工业出版社,2005
[8](澳)拉夫利(精通Struts2(,译李进华)(人民邮电出版社,2009
[9](荷)范德兰斯(MySQL开发者SQL权威指南(,译许杰星,李强等)(机械工业出版社,2005
[10] Vivek Chopra,Jpn Eaves,Rupert Jpmdes((,译朱涛江等)(JSP高级程序设计(人民邮电出版社,2006
16
[11]温谦(HTML+CSS网页设计与布局从入门到精通(人民邮电出版社,2008
[12]Don Brown,Chad Davis,Scott Stanlick(STRUTS2 IN ACTION(Manning Publications,2008
[13]JeffFriesen(Java 2 by Example(Que,2001
[14] 孙卫琴,李洪称. Tomcat与Java Web开发技术详解[M]. 北京:电子工业
出版社,2003.
[15] 何成万,余秋惠. MVC模型2及软件框架Struts的研究[J]. 计算机工程,2002,06:274-276
17
本文档为【电子邮件收发系统】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
| | | |