基于WEB的电子邮件系统邮件协议功能实现_第1页
基于WEB的电子邮件系统邮件协议功能实现_第2页
基于WEB的电子邮件系统邮件协议功能实现_第3页
基于WEB的电子邮件系统邮件协议功能实现_第4页
基于WEB的电子邮件系统邮件协议功能实现_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于WEB的电子邮件系统邮件协议研究与系统功能实现中国地质大学(北京)成人高等教育专 科 实 习 报 告题 目 基于WEB的电子邮件系统邮件协议功能实现 学生姓名 武江 学 号 不知道自己不用写 专 业 计算机科学与技术 指导教师 实习(论文)报告写作要求 2015年4月10日前必须写好传给中心老师!实习报告写作要求语言通顺简练、文字书写工整,图表清晰准确,全文篇幅恰当,要求3000字以上。题目要求:写计算机科学与技术专业相关题目(可参照题目列表)实习报告应按统一格式写作,论文包含:题目目录正文结论参考文献等. 年 月 中文摘要 通过分析JavaMail的实现原理,采用开源框架Struts,S

2、pring,Hibernate和面向对象的方法实现基于WEB的电子邮件系统功能。论文研究了接收邮件的和解析邮件的工作原理,并阐述了如何实现。本系统中我主要负责用户注册、登陆、退出、接收站内信、读取站内信、移动站内信、删除站内信、设置其他邮箱、收取其他邮箱邮件、解析其他邮箱邮件、删除其他邮箱邮件、系统管理等功能的实现。关键词: JavaMail; Struts; Spring; Hibernate 目 录第1章 引言21.1 基于WEB的电子邮件选题目的和意义31.2 基于WEB的电子邮件国内外研究现状41.3 基于WEB的电子邮件系统开发研究方法与策略4第2章 系统开发相关技术42.1 Str

3、uts简介42.1.1 优点:42.1.2 缺点:42.2 Spring简介42.3 Hibernate简介52.4 MVC简介5第3章 概要设计6第4章 详细设计与编码实现64.1 程序包的结构64.2系统的功能模块的详细设计与实现64.2.1 用户注册登录模块7第5章 结论8第6章 参考文献9第7章 致谢10第1章 引言1.1 基于WEB的电子邮件选题目的和意义 电子邮件是80年代初新起的一种基于计算机网络技术,采用存储和转发方式传递交换信息的快捷,高效,廉价的电子信息业务,是计算机互联网系统中提供的一项基本服务。电子邮件作为一种现代化通信工具可以传递文字,图表,声音,电影等各类信息,其传

4、递速度也是传统邮件所无法比拟的。其主要应用领域是电子邮件服务。用户将要发送的信息以规定的格式通过通信网络发送到收信人的信箱中,信箱实际上与通信网络相连的计算机存储器,收信人可以通过通信网络随时打开自己的信箱,看到别人发来的信件,同时可以利用自己的信箱写回信或发送信件。电子邮件服务在信息的交流,传播,检索,管理等领域的应用越来越广泛,随着电子邮件数量的增加,需求多样化,电子邮件技术的发展趋势也越趋于更细致化,更复杂化。作为电子邮件的信息服务平台的邮件系统使整个电子邮件世界的核心,也是个性化增值信息服务的关键技术。电子邮件系统是在模拟邮政系统基础上,汲取电报,电传,传真技术和计算机信息技术的精华,

5、利于处处转发的通信方式,在开放系统互联国际标准中形成为网络用于传送消息和文件提供一个可靠,异步,垮平台的机制,可以实现点到点和点到多结点上的网络用户间的通信。电子邮件系统经过几十年的发展,已经形成了完善的技术体系。电子邮件系统的发展经历了远程登陆模式,专用客服端模式,基于WEB的模式,目前正向WAP模式迁移。随着互联网的飞速发展,电子邮件的用户数量也业务量的急增,种类繁多的商业增值服务需求以及用户对服务种类的智能化需求,向负载它们的电子邮件系统服务的种类,容量,技术支持,付费方式等方面提出了挑战。邮件服务系统在保留了电子邮件系统最初的收发邮件,邮件存储等基本功能的同时,融入了最新的计算机与网络

6、技术,是电子邮件系统有了全新的改观。电子邮件已经成为人们喜爱的通信方式之一,是信息交流的重要手段之一,也是单位加强信息交流的重要手段。在我国信息化的过程中,邮件系统已经成为信息系统中必不可少的一部分。传统的邮件系统分为邮件服务器和客服端,即Client/Server(C/S)结构。用户通过邮件客户端来接受和发送邮件。近年来随着web技术的不断成熟,采用浏览器和服务器Browser/Server形式的软件层出不穷,并在实际应用中得到了良好的效果。B/S结构同传统的C/S结构相比具有对客户机的低要求,较低的开发成本,方便的维护,软件的高复用性等优点。因此,系统采用B/S结构,即用户以web方式进行

7、接收和发送邮件。1.2 基于WEB的电子邮件国内外研究现状 国内很多企事业单位都有自己的邮件服务系统,免费邮箱有163,新浪等,用户对电子邮件安全性、可靠性及功能上的要求也在不断提高。因此,电子邮件服务供应商必须提供更安全、更可靠、功能更丰富的服务,才能发展业务,吸引用户,从众多竞争者中脱颖而出。如何构建高效、稳定、安全、易用、可扩展、功能丰富的电子邮件系统是众多电信运营商、ISP(Internet Service Provider)、ICP(Internet Content Provider)共同面临的问题。邮件服务器供应商致力于以下几个方面提高邮件服务功能:(1)增加多用户模板的功能,以满

8、足不同用户对界面的不同喜好,如提供多种邮件webmail页面风格,提供个性化模板和多风格信纸,用户可以定义邮件系统界面等。(2)增加防病毒模块,以增加E-mail系统整体的安全性,利用邮件加密和邮件签名等方法进行邮件传送。在服务器端使用防病毒模块。将电子邮件系统向统一信息系统发展,加入最新资讯,多媒体等功能。反垃圾邮件为用户提供反垃圾邮件的多种过滤器,充分保证用户收到最低限度的垃圾邮件骚扰。1.3 基于WEB的电子邮件系统开发研究方法与策略 (1)查看163邮箱、qq邮箱等,研究它们的实现方式,结合自己要实现的系统找到合适的切入点。(2)本课题要求对MVC有一定的掌握,熟悉Struts、Spr

9、ing、Hibernate、MySQL、Tomcat的使用,以及有较强的自学能力和熟练使用MyElipse开发环境的能力。(3)对于技术难题先查资料,找不到答案询问同学和老师,请求帮助。第2章 系统开发相关技术2.1 Struts简介 Struts只是一个MVC框架(Framework),用于快速开发Java Web应用。Struts实现的重点在C(Controller),包括ActionServlet/RequestProcessor和我们定制的Action,也为V(View)提供了一系列定制标签(Custom Tag)。但Struts几乎没有涉及M(Model),所以Struts可以采用J

10、AVA实现的任何形式的商业逻辑。 2.1.1 优点:     Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点。使开发者能更深入的了解其内部实现机制。    Taglib和页面导航。Taglib是Struts的标记库,灵活动用,能大大提高开发效率。另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。关于页面导航,我认为那将是今后的一个发展方向,事实上,这样做,使系统的脉络更加清晰。通过一个配置文件

11、,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。2.1.2 缺点:     Taglib是Struts的一大优势,但对于初学者而言,却需要一个持续学习的过程,甚至还会打乱你网页编写的习惯,但是,当你习惯了它时,你会觉得它真的很棒。Struts将MVC的Controller一分为三,在获得结构更加清晰的同时,也增加了系统的复杂度。虽然它现在还有不少缺点,但它是一种非常优秀的J2EE MVC实现方式。 2.2 Spring简介 Spring是一个轻型容器(light-weight

12、 container),其核心是Bean工厂(Bean Factory),用以构造我们所需要的M(Model)。在此基础之上,Spring提供了AOP(Aspect-Oriented Programming, 面向层面的编程)的实现,用它来提供非管理环境下申明方式的事务、安全等服务;对Bean工厂的扩展ApplicationContext更加方便我们实现J2EE的应用;DAO/ORM的实现方便我们进行数据库的开发;Web MVC和Spring Web提供了Java Web应用的框架或与其他流行的Web框架进行集成。2.3 Hibernate简介 Hibernate顾名思义冬眠的意思,相信它的创

13、造者的用意在于用这个工具将数据库连接持久化层冬眠,关于Hibernate网上争论很多,有人说其为工具,有人说其为框架,我相信一个人有一个人理解问题的角度,只要处理问题的方法正确就可以了。Hibernate是采用ORM映射机制的持久层开发工具,它是JAVA应用和关系数据库之前的桥梁,负责JAVA对象和关系数据之间的映射。内部封装了JDBC访问数据库的操作,向上层应用提供了面向对象的数据库访问API,在JAVA应用中使用到Hibernate包含如下步骤。(1)创建Hibernate配置文件(2)创建持久类(3)创建对象关系映射文件(4)通过HibernateAPI编写访问数据库的代码如果想了解Hi

14、bernate或者是要学习它的人必须要首先了解两个比较重要的概念:(1)POJO:在Hibernate中理解为数据库表所对应的Domain Object,如果从子面上理解就是无格式普通JAVA对象,简单的理解就是一个不包含逻辑代码的值对象。从数据层面上看,POJO作为数据实体的对象化表现形式,也成为实体。(2)ORM:ORM可以理解成一种机制也可以理解成一种模式,对象关系映射,我个人觉得如果想理解它可以和MVC比较,模型视图控制。ORM是把对象和关系数据库映射到一起,而MVC是把视图和模型控制在一起。创建Hibernate的配置文件Hibernate从中读取和数据库连接的相关信息,这个配置文件

15、应该位于应用的classpath中,主要有两种形式XML格式和.Properteis信息文件。创建持久化类就是指需要被Hibernate持久化到数据库中的类,持久化类通常都是模型中的实体类,符合JavaBean的规范,包含一些属性,以及与之对应的get、set方法。2.4 MVC简介 MVC是三个单词的缩写,分别为:模型(Model),视图(View)和控制Controller)。MVC模式的目的就是实现Web系统的职能分工。 Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。View层用于与用户的交互,通常用JSP来实现。Controller层是Model与View

16、之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。第3章 概要设计基于Web的电子邮件系统概要设计由我的搭档实现。第4章 详细设计与编码实现4.1 程序包的结构com.mail.dao中是所有接口com.mail.filter中是过滤器com.mail.impl中是所有接口的实现com.mail.othermail中是管理其他邮箱com.mail.page中是分页的处理类com.mail.struts.action中是业务逻辑 com.mail.struts.form中是form表单com.mail.util中是工具类c

17、om.mail.vo中是实体类4.2系统的功能模块的详细设计与实现4.2.1 用户注册登录模块(1)用户注册登陆模块详细设计公共Action如下图所示,所有的Action都继承自BaseAction,在Action中使用super.getCurrentUser()可以从session中获取用户的实例。图4-1 公共ActionFig.4-1 Public Action用户实体类User如下图所示 图4-2 用户实体类Fig.4-2 the entity of User用户首先注册然后登陆,登陆后可以修改密码,用户注册登陆模块的UserAction如下图所示图4-3 用户ActionFig.4-

18、3 the action of UserAction用户注册登陆模块Action中的方法实现调用接口IUserDAO中的方法,IUserDAO接口中的方法由IUserDAOImpl具体实现,IUserDAO如下图所示图4-4 用户模块接口Fig.4-4 the interface of user module(2)用户注册登陆模块的实现方式A用户注册用户打开网站即进入用户登陆页面,如果用户没有注册那么注册调用UserAction中的register(),将注册信息封装到实体User的一个对象中,通过IUserDAO的register()保存这个对象,持久化到数据库中。B用户登陆用户成功注册后输

19、入正确的用户名和密码就可以登陆系统,调用UserAction中的login()方法,将登陆的用户名和密码传递给IUserDAO中login(),判断用户是否存在,如果用户存在并且密码正确那就向session中写入user这个实例,跳转到邮箱主页,如果用户不存在或密码不正确提示用户,让用户重新输入。C用户退出调用UserAction中的logout()方法,从session中删除当前用户实例,返回到用户登陆页面。D找回密码当用户忘记密码的时候点击找回密码调用UserAction中的findPassword()将你的用户名传递进去,然后调用IUserDAO中的findUser(String use

20、rName)查询数据库这个用户是否存在,如果存在查询出密码保护问题和答案,将密码保护问题显示给用户,让用户输入答案,如果用户的答案和数据库中的答案一致那么调用IUserDAO中的findPassword()方法更新用户密码。E修改密码用户登陆成功后可以修改用户密码,调用UserAction中的updatePasswordInput转向到更新密码页面,更新密码调用UserAction中的updatePassword()。 第5章 结论 本文详细阐述了基于WEB的电子邮件系统的收件原理和系统功能的如何实现,本系统采用的当前流行的SSH框架来搭建站内信的实现,本文重点讨论了邮件的收取和解析的理论以及

21、系统中用到的技术,详细描述了用户注册登陆模块、站内接收邮件模块、其他邮箱模块、系统管理模块的详细设计和实现方式。本文研究在B/S模式下的邮件接收机制,研究了邮件协议和其他邮箱邮件接收算法以及功能的实现方式等,采用了两种机制接收邮件,第一种是将自己邮件地址对应的邮件服务器上的邮件下载到本系统服务器,然后解析邮件,第二种是直接读取服务器上的邮件,两种方法各有优缺点,第一种方法缺点有安全问题,如何保证用户的邮件在服务器上安全存贮不被泄露;如何保证本系统所运行的环境不被病毒侵蚀;还有并发用户访问系统负载和性能的问题;多用户大容量存贮问题等,这些都有解决的方法,需要硬件软件和资金的投入。第二种方法的缺点

22、有速度的问题,虽然解决了前面第一种方式的缺点,但是读取邮件列表和邮件都要登陆其他邮件服务器去请求资源,然后传输过来,我测试了这个速度,如果读取10封邮件列表,只读取发件人、主题、发件时间,需要12秒钟。用户打开一个网页等待3秒就会产生抵触情绪,12秒的时间太长,显然不是拥有很好的用户体验度。这种方式不可取。我研究了QQ邮箱的实现方式,它会自动接收你的邮件到它的服务器,你也可以手动接收,在QQ邮箱中对于你刚刚添加了其他邮箱,QQ邮箱是不能立即将该邮箱下的全部邮件下载到它的服务器,它有自己的算法下载邮件,我每隔一段时间登陆QQ邮箱,邮箱中的邮件数量都有增长。本系统未完善之处是其他邮件自动接收算法,

23、在以后的研究中将针对这块进行研究和探讨,使系统更加完善。系统未来新功能:考虑用户邮件数过多,用户搜索邮件速度慢的问题,现在实现邮件搜索还只能搜索标题,也需要系统开销去解析邮件标题和查找邮件,如果多用户搜索邮件会造成系统性能下降,系统突破不了瓶颈。所以考虑采用开源的全文检索工具Lucene,当系统负载不是很大的时候自动解析邮件为每个用户建立邮件索引,存放邮件为静态页面文件,可以设置索引有效期,对于用户不经常搜索访问的邮件删除索引,节省存贮空间。这样用户就可以全文检索邮件,查找邮件非常方便。通过毕业设计学会了很多软件设计的方法,并对以前学过的东西有了新的认识;但同时由于时间的有限,本软件还有很多功能没有完全实现,而且还可以对软件进行扩展。希望在以后继续努力对本系统进行完善。第6章 参考文献1 牛尧,章文毅. 基JavaMail的邮件管理系统的设计. 科学技术与工程,2008.8:4191-4193.2 钟珞, 刘玲, 夏红霞. 基于JavaMail API 的Web 邮件系统开发. 武汉理工大学学报, 2006,(6):84-86.3 周红静

温馨提示

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

评论

0/150

提交评论