基于JSP的Web邮箱开发与设计.docx
《基于JSP的Web邮箱开发与设计.docx》由会员分享,可在线阅读,更多相关《基于JSP的Web邮箱开发与设计.docx(18页珍藏版)》请在冰豆网上搜索。
基于JSP的Web邮箱开发与设计
基于JSP的Web邮箱开发与设计
引论
互联网的井喷式发展,让生活在这个时代的人们处处能感受到互联网的便利之处。
互联网将人们的沟通方式从时间上,空间上无限缩小,拉近彼此之间的距离。
电子邮箱就是拉近彼此之间间隔的方式之一,它能够让企业交换意见,好友之间也可以不论何时都可以向对方发送邮件来联络感情,并且能让对方及时收到信息,不会再像古代那样收一封信需要等待漫长的几天甚至几个月甚至还有遗失的风险,而如今有了电子邮箱可以在一秒之间安全稳定的到达对方,使得交流内容能够及时传送到对方的手中。
从这点可以看出web邮箱对于当今的联网时代有着举足轻重的重要作用。
本文就利用当今企业流行的一些技术如SSH框架,jsp页面技术,css+div技术等来实现简单的web邮箱系统。
1.系统开发概况
这次系统开发主要采用的技术是JSP、SSH三大框架、jQuery、javascript、css+div、Ajax。
首先介绍一下这些技术。
1.1JSP动态网页技术
JSP是java在服务器上面的一种动态页面,它算是对于servlet的一种简单化设计,在它的页面中可以添加java代码。
它主要在服务器上执行代码,可以对数据进行操作并且跳转页面,处理完之后页面接收的是它处理过之后的结果,仅仅是接收数据库处理的结果,也就减轻了客户端浏览器的负担,所以就算本地的电脑不支持java只要有浏览器照样可以访问jsp页面,因此,jsp是具有跨平台性的一门语言。
1.2SSH三大框架技术
SSH分别是spring+struts+hibernate。
如今企业J2EE软件开发流程基本上都是将项目进行分层搭建系统框架,利用SSH框架就类似于MVC(model,view,control)模式进行分层开发。
这样来降低模块之间的耦合性,很好的遵循了Java开发的原则高内聚低耦合。
其中Struts是主要负责表示层也就是视图的,主要通过Struts进行处理表现层数据的传递和页面的跳转;它自身同样是个MVC框架,可以处理前台页面和后台数据,将页面和后台分开,达到解耦的效果,方便了对系统的维护,以及对系统进行扩展工作,另外代码的重用性也得到了体现。
Hibernate是对数据库进行封装操作的一种框架。
它主要是对数据库以及java代码中的对象进行一个映射操作,让代码执行的时候,操作数据会根据映射关系自动去执行相应的操作,让操作变的更加简单。
Hibernate包含了数据库的最常用的操作包含用户对数据的查询,添加数据,更新数据,以及删除数据等操作,使得在编写代码的时候不必去费尽心思去写底层的数据库操作了,大大提高了代码开发的速度。
Spring是企业最为流行的一种轻量级框架,最为重要的部分就是控制反转IOC,它是利用外部产生的一种容器来进行控制不同组件间的联系,相比于之前的同过代码来进行控制,它的耦合性更低,实现了控制的反转。
另外一个重要的部分就是依赖注入机制,它通过设值进行注入以及在构造方法中来表现依赖的机制。
Spring在SSH框架中主要负责的是逻辑层,实现对struts的调用来进行对页面操作,然后通过调用hibernate对数据库进行操作然后将数据库操作的结果返回给struts控制的表现层将结果显示给用户。
1.3jQuery和JavaScript
JavaScript是一种相对于其他网络语言安全性相对较高的脚本语言,页面上的图片动态效果,鼠标事件等都是通过javascript进行触发并且控制实现的,它是通过对一个对象添加相应的事件来实现功能的。
它是一种动态,弱类型,基于原型的语言。
而jQuery是JavaScript的一个轻量级类库,主要封装了一些javascript的一些方法,能够响应常见的时间,以及实现动画效果等,同样也方便地提供了Ajax与服务器之间进行沟通实现的方法。
所以JavaScript是基本框架而jQuery是对其的扩展,让网页显示的效果更丰富。
1.4Ajax技术
Ajax的核心是js通过对xml的对象操作来体现传输数据的传送。
它是支持异步请求的一种技术,异步请求也就是可以向服务器踢出请求并且同事处理响应,不需要等待请求或者响应结束之后才进行下一步操作,进而达到局部数据操作的目的,也就是我们目前在浏览器经常看到到一种局部刷新的技术。
2.需求分析
2.1系统功能需求
2.1.1个人信息维护
个人信息包含:
用户名、密码、默认邮箱。
主要包括用户登陆和用户注册两大功能。
在登陆的时候必须将用户名,密码以及验证码填写完整并且只有所有信息都填写正确之后才能从数据库中获知登录用户是否合法,如果不合法将提示错误信息,合法登陆用户可以跳转到主页。
用户注册是需要用户填写用户名,密码,邮箱别名,邮箱账号,邮箱密码,POP3地址和SMTP地址,以及选择是否在服务器备份等信息然后点击提交,将用户添加到数据库中。
2.1.2用户邮件管理
邮件含有:
id,邮件消息ID,邮件主题,发送邮箱地址,接收者邮箱地址,抄送邮件地址,密送邮件地址,邮件内容,是否为html格式邮件,邮件发送日期,有件是否已读,邮件是否紧急,邮件是否需要回复,邮件类型,邮件保存时间,邮件所属用户ID,邮件所属邮件服务器ID,邮件附件等字段名。
主要完成了发送邮件,收取邮件,阅读邮件内容,删除邮件信息等功能。
发送邮件:
按照格式填写邮件内容,可以添加附件和要求回执或者紧急信件,点击发送之后数据库中将增加一条发送的邮件记录保存在本地磁盘上。
收取邮件:
点击收取邮件后,页面会刷新显示最新的未读邮件。
读取邮件:
点击选中收件箱里面需要阅读的邮件,能够打开邮件进行读取选中的邮件的内容。
删除邮件:
选中需要删除的邮件之后点击删除邮件可以将邮件放入到回收站,如果要彻底删除,点击彻底删除按钮就可以讲邮件彻底删除。
3.系统流程图
整个系统的流程图如下图3-1。
首先进入登录首页,输入账号密码和验证码进行用户验证,验证失败则需要点击注册跳转到注册页面填写信息进行注册,注册成功后会跳转到登录页面进行登陆。
验证成功后登陆会进入到邮箱首页,左侧栏有写信,收件箱,发件箱,草稿箱和回收站。
点击写信可以填写信件详细内容,然后点击发送邮件,将邮件发送出去,发送失败时候会将邮件保存到草稿箱中;发送成功后会将邮件备份一份到发件箱中;若将邮件永久删除,则直接永久删除;若是将邮件放入到回收站,那么可以将邮件还原。
3-1系统流程图
4.数据库设计
4.1数据库E-R图
数据库设计是根据前期的需求分析和功能分析之后才进行设计的,采纳的是MySQL中小型数据库,通过navicatforMySql可视化工具对数据库执行相关数据操作。
图4-1是数据总体E-R图。
图4-1数据E-R图
以下是本次系统设计的数据逻辑结构设计:
4.2用户表(sys_user)
表4-1用户表
字段名称
数据类型
备注
关键字段
ID
varchar
用户ID
主键(PK)
username
varchar
用户名
password
varchar
密码
Default_domain
varchar
默认邮箱
4.3服务器表(domain)
表4-2服务器表
字段名称
数据类型
备注
关键字段
id
varchar
邮箱唯一标示符
主键
Name
varchar
服务器名字
Login_name
varchar
登陆用户名
Login_password
varchar
用户密码
Pop3_server
varchar
Pop3服务器
Smtp_server
varchar
Smtp服务器
Keep_copy
varchar
备份
User_id
varchar
用户id
4.4邮件表(mail)
表4-3邮件表
字段名称
数据类型
备注
关键字段
id
varchar
唯一标示符
主键
Msg_id
varchar
邮件消息ID
Subject
varchar
邮件主题
Mail_from
varchar
发送者邮件地址
Mail_to
varchar
接收者邮件地址
Cc
varchar
抄送邮件地址
Bcc
varchar
密送邮件地址
Content
varchar
邮件内容
Send_date
Datetime
邮件发送日期
Save_time
Datetime
邮件保存时间
Is_read
varchar
是否已读
Is_html
varchar
是否是html格式
Is_emergent
varchar
邮件是否紧急
Is_need_receipt
varchar
邮件是否需要回复
Mail_type
varchar
邮件类型
User_id
varchar
邮件归属人
Domain_id
varchar
邮件所属邮件服务器ID
Attachment
varchar
邮件附件
Attachment_name
varchar
邮件附件名称
5.详细设计
详细设计就是对于各个功能的详细实现,实现各模块的功能。
5.1界面设计
软件的作用就是服务用户的,而软件与用户之间的交互就是通过友好的界面来进行的。
5.1.1登陆界面
5-1邮箱登陆界面
5.1.2注册页面
5-2邮箱注册界面
5.1.3邮箱首页
5-3邮箱首页界面
5.1.4写信页面
5-4邮箱写邮件界面
5.1.5收件箱界面
5-5邮箱收件箱界面
5.1.6发件箱
5-6邮件发件箱界面
5.1.7草稿箱界面
5-7邮箱草稿箱界面
5.1.8回收站
5-8邮箱回收站界面
5.2系统实现
系统实现是在界面完成之后,数据库的表已经建立以及功能的大概设计都完成的基础上进行的工作。
将计划实现的功能通过代码详细实现。
5.2.1三大框架环境配置
在利用SSH框架进行开发项目之前,首先需要配置一下项目运行的环境,然后才能进行开发。
引入jar包和配置文件
Struts
--添加Struts和jstl的核心包
--在web.xml文件中配置ActionServlet
--创建struts-config.xml
--提供国际化支持,提供国际化资源文件
Spring
--添加Spring的依赖包
--log4j
--aspecrj
--spring
--commons-logging.jar
--编写Spring配置文件applicationContext.xml
Hibernate
--添加Hibernate的核心包
--hibernate3.jar
--hibernate-3.2\lib目录下的全部jar
--数据库连接jar(mysql-connector-java-3.1.13-bin.jar、classes12.jar)
-编写Hibernate配置file
5.2.2登陆功能实现
登陆功能包含了三个录入信息:
登陆用户名,登陆密码,登陆验证码;
首先是通过用户登陆时录入的用户名和登陆密码来查询数据库中用户的信