南昌大学毕业设计范文
密级:
NANCHANG UNIVERSITY
学 士 学 位 论 文
THESIS OF BACHELOR
(20 — 20 年)
题 目 基于JAVA的宿舍管理系统开发
学 院: 软件学院 系 软件工程
专业班级: WEB084
学生姓名: 指导教师:
起讫日期:
摘要
基于JAVA的宿舍管理系统开发
专业:软件工程
学生姓名: 程恳 学号: 8000108161 指导教师: 陈练
摘 要
现今,随着高校学生的增多,学生宿舍的管理问题也暴露出来,有很多学生宿舍都是初步使用,甚至尚未使用计算机进行信息处理。根据问卷调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于卫生评比等很多信息都是用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。这就是宿舍管理系统的开发的基本环境。.
经过分析如此情况,我们使用JAVA WEB,ORACLE数据库等开发工具,利用其提供的各种面向对象的开发工具,运用JAVA的STRUCT和SPRING这两大框架快速建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统.
关键词:宿舍管理;简单易用;JAVA WEB技术
Abstract
Dormitory Management System based on JAVA
Abstract Nowadays, with the increase of college students, the management of student dormitories exposed to a lot of student dormitories are preliminary, not even using computers for information processing according to the questionnaire was
informed that their previous way of information management with manual calculation based on the paper at the manual processing of text, tables, etc., for a lot of information such as health assessments are the handwritten carried out. data processing workload, error-prone; due to the variety of data, easily lost
and difficult to find., the lack of the system, standardized information
management tools. this is the basic environment of the hostel management
system development.
After analysis of the case, we use the JAVA WEB ORACLE database
development tool, its use of the various object-oriented development tools, the use of JAVA STRUCT and SPRING framework to quickly build a prototype application system, then the initial the prototype system needs to constantly revised and improved, until the formation of a viable system of customer
satisfaction.
Keyword: Dormitory Management;Convenient;JAVA WEB
目 录
摘 要...............................................................................................................................I Abstract ......................................................................................................................... II
第一章 前言 .............................................................................................................. 1
第二章 系统可行性分析.............................................................................................. 1
2.1 技术可行性...................................................................................................... 1
2.2 经济可行性...................................................................................................... 2
2.3 社会环境.......................................................................................................... 2
2.4 人...................................................................................................................... 2
第三章 需求分析.......................................................................................................... 2
3.1 系统需求分析................................................................................................. 2
3.1.1 登录管理................................................................................................ 3
3.1.2 后台用户管理........................................................................................ 3
3.1.3 管理........................................................................................................ 3
3.2 系统主要技术分析.......................................................................................... 3
3.2.1 系统基于B/S的三层体系结构............................................................ 3
3.2.2 系统开发使用的关键技术.................................................................... 4
3.3 系统开发、运行环境分析.............................................................................. 7
第四章 系统概要设计.................................................................................................. 8
4.1 系统功能模块设计......................................................................................... 8
4.2 系统功能结构设计......................................................................................... 9
4.3 系统UML设计................................................................................................. 9
4.3.1 用例图设计............................................................................................ 9
4.3.2 用例描述.............................................................................................. 11
第五章 系统数据库设计............................................................................................ 16
5.1实体分析........................................................................................................ 16
5.2数据库数据表结构图.................................................................................... 16
5.3数据库表详细结构设计................................................................................ 17
第六章 系统详细设计................................................................................................ 19
6.1 详细设计概述................................................................................................ 19
6.2 程序流程图.................................................................................................... 19
6.3 邮件发送和接受............................................................................................ 20
6.3.1 邮件通信原理...................................................................................... 20
6.3.2 邮件地址的构成.................................................................................. 20
6.3.3 常见邮件协议...................................................................................... 21
6.3.4 关键算法.............................................................................................. 21
第七章 系统实现........................................................................................................ 27
7.1 总体工程架构的实现.................................................................................... 27
7.2 具体功能实现................................................................................................ 27
结论.............................................................................................................................. 36
参考文献...................................................................................................................... 37
致谢.............................................................................................................................. 38
第一章 前言
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。随着计算机技术发展,各种各样的管理信息系统也蓬勃发展。学校各个部门为了提高工作效率也纷纷开发自己的系统,而随着住宿人数的高速膨胀,开发学生公寓管理系统也成为必然。近年来,我校规模不断扩大,招生人数不断增多,宿舍也不断扩建增多。致使宿舍管理工作压力增大,为了适应未来信息化社会的需要,为了使宿舍管理 工作更加科学化、规范化,减轻工作人员压力,提高工作效率,我们需要结合我校实际工作的需要采用 JAVA语言 结合 ORACLE 数据库开发了《学生公寓管理系统》。现在学生公寓管理系统的开发设计日益呈现出可视化、对象化和网络化的特征
第二章 系统可行性分析
可行性分析是基于客观的、科学的,其在整个系统的设计与实现过程中有非常重要的意义,软件可行性分析的目的是用合适的代价解决足够的问题,其最终结果是对所设想的项目做出实施还是放弃。本宿舍管理系统从以下四个方面进行可行性分析:技术、经济、社会环境、人。
2.1 技术可行性
基于JAVA的WEB形式实现本系统。JAVA是由Sun Microsystems(现已被Oracle收购)公司于1995年5月推出的Java程序设计语言和Java平台的总称。JAVA编程语言经过十多年的发展已经形成了具备简单的、面向对象的、分布式的、解释型的、健壮安全的、结构中立的、可移植的、性能优异、多线程的动态语言。Java EE(Java Platform,Enterprise Edition)是JAVA的企业级应用,企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。Java EE 是在 Java SE 的基础上构建的,它提供 Web 服务、组件模型、管理和通信 API,可以用来实现Web 2.0 应用程序。
2.2 经济可行性
实现一套宿舍管理系统,不管从时间、资金、人力等角度考虑都不需要太多的投入。只要严格按照软件工程的实现方法进行系统的实施即可。当其正式投入运行,其所发挥的高效率、实际效益作用是非常明显的。
2.3 社会环境
在当今的网络社会时代,硬件、软件设备环境已经相当成熟,要实现并运行一个宿舍管理系统是相当轻松的。
2.4 人
计算机的发展,使得常人具备使用基本的电脑技术已经非常重要,而且现在网络教学资源也非常丰富,所以对一个邮件系统的操作以及使用是基本没障碍的。
综上所述,实现一套宿舍管理系统是相当可行的。
第三章 需求分析
3.1 系统需求分析
WEB应用技术2作为Internet最为广泛的应用之一,在人们的工作和生活中扮演着重要的角色,应用的普及使电子邮件技术有了飞速的发展。不仅在普通人的日常生活中,而且已经成为现代企业内外信息交流的必备工具。企业拥有自己的邮件系统,不仅能够提升企业形象,而且更重要的是能为企业带来实际效益。
当然作为一个邮件系统要考虑多方面,比如稳定性、安全性等其他一些因素,但由于时间、及所学技术有限等原因,在此只实现最基本的客户端功能及简单后台管理功能。Java为实现这种功能提供了丰富的类库,借此,在老师的指导下,开始了邮件系统的开发。
本邮件系统主要有三个模块:
3.1.1 登录管理
用户,都必须从登录界面提交用户名和密码,经程序验证正确无误后方可登录系统进行相关操作。
登录时进行用户账户、密码的有效行验证,如果用户的账户错误,密码错误,则不能进入系统。之后再进行用户权限验证,不同权限有不同的界面,如果是普通用户登录则只有部分权限,如果是超级管理员登录拥有全部权限。
3.1.2 后台用户管理
超级管理员可以通过添加用户来分配,开通一个账号,也可以对现有帐号进行查看、删除、修改等操作。其中添加、修改用户时,可以指定用户的权限和备注。
3.1.3 前台管理
3.2 系统主要技术分析
3.2.1 系统基于B/S的三层体系结构
B/S(Browser/Server)即浏览器/服务器。通常三层架构就是将整个业务应用划分为:表现层、业务逻辑层、数据访问层。区分层次有助于系统的“高内聚,低耦合”。
图3.1 三层系统的分层式结构
表现层:通俗讲就是展现给用户的界面,用户在使用一个系统的时候他的所见所得,为用户提供一种交互式操作的界面。
业务逻辑层:是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也即是说它是与系统所应对的领域逻辑有关。针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。
数据访问层:其功能主要是负责数据库的访问,该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。
3.2.2 系统开发使用的关键技术
一、HTML、CSS、JAVASCRIPT
HTML(Hyper Text Mark-up Language)即超文本标记语言,是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言。HTML文本是由HTML命令组成的描述性文本,HTML命令可以是说明文字、图形、动画、声音、表格、链接等。HTML的结构包括头部(Head)、主体(Body)两大部分,其中头部描述浏览器所需的信息,而主体则包含所要说明的具体内容。
CSS(Cascading Style Sheet)层叠样式表是一组格式设置规则,用于控制Web页面的外观。通过使用CSS样式设置页面的格式,可将页面的内容与表现形式分离。页面内容存放在HTML文档中,而用于定义表现形式的CSS规则则存放在另一个文件中或HTML文档的某一部分,通常为文件头部分。将内容与表现形式分离,不仅可使维护站点的外观更加容易,而且还可以使HTML文档代码更加简练,缩短浏览器的加载时间。
JAVASCRIPT是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。也是一种动态、弱类型、基于原型、内置支持类的语言。
二、JSP
JSP(Java Server Pages)页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。
JSP文件被编译后是以Java Servlet形式存在, 当JSP页面第一次被调用时,会有一个编译成Java Servlet类的过程,所以当第一次调用时会有点慢,但编译
后就会一直存储在服务器的内存中,这就使得在接下来的对该页面的调用中,服务器会有非常快的响应。
三、Struts1
Struts1是Apache组织的一个项目,像其他的Apache组织的项目一样,它也是开放源码项目。它提供了对开发MVC系统的底层支持,采用的主要技术是Servlet,JSP和customtaglibrary(自定义标签库)。
作为一个MVC的框架,Struts1对Model、View和Controller都提供了对应的实现组件:
在视图层,除了可以使用JSP及其标签库(JSTL)以外,Struts1提供了一个强大的标签库,来帮助用户解决显示逻辑,并且使用ActionForm组件将显示递交到控制器层。
在控制器层,Struts1提供了一个控制器组件ActionServlet,它继承自HttpServlet,并重载了HttpServlet的doGet()、doPost()方法,可以接受HTTP响应,并进行转发,同时还提供了使用XML进行转发Mapping(映射)的功能。
在模型层,Struts1提供Action对象,来管理业务逻辑的调用,帮助用户分离业务逻辑。也就是说Struts1本身不参与业务逻辑,但可以调用已完成的业务逻辑。
图3.2 Struts1基本流程结构图
四、SPRING
Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
轻量——从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。
控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。
面向切面——Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。
容器——Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。
框架——Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。
五、数据库
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。
采用JDBC访问oracle数据库需要安装三个驱动oracle jdbc jar 。并在JSP里
导入进去。
SQL(Structured Query Language)结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
SQL语言包含4个部分:
数据定义语言(DDL):CREATE、DROP、ALTER等语句。
数据操作语言(DML):INSERT、UPDATE、DELETE等语句。
数据查询语言(DQL):SELECT语句。
数据控制语言(DCL):GRANT、REVOKE、COMMIT、ROLLBACK等语句。
3.3 系统开发、运行环境分析
操作系统:Microsoft Windows XP
浏览器:Internet Explorer 6.0以上,或以此为内核的浏览器
应用服务器:Apache-Tomcat- 6.0.20
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。Tomcat 是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。
JDK:jdk-6u20-windows
JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。
数据库:ORACLE 9I或更高版本
数据库模型设计: Power Designer
开发工具:MyEclipse 6.5 或更高版本
MyEclipse企业级工作平台(MyEclipse Enterprise Workbench,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML、Struts、JSF、CSS、Javascript、SQL、Hibernate。
UML设计工具:Rational Rose 8.2.310.2800
Rational Rose是Rational公司出品的一种面向对象的统一建模语言的可视化
建模工具。用于可视化建模和公司级水平软件应用的组件构造。
第四章 系统概要设计
4.1 系统功能模块设计
从模拟用户的角度进行分析,对于一个宿舍管理系统,首先要确定其功能是什么,也就是用户想要系统做什么工作。经过对系统的可行性分析、需求分析、技术分析后,结合调研的情况及用户的使用需求,确定了本系统的功能模块如下图所示。
图4.1 系统功能模块图
4.2 系统功能结构设计
图4.2 系统功能结构图
4.3 系统UML设计
4.3.1 用例图设计
图4.3 系统管理员用例图
图4.4 普通用户用例图
4.3.2 用例描述
第五章 系统数据库设计
数据库用于保存系统需要持续使用的数据对象,通过对需求及系统的设计,本系统邮件实际上只有两个实体对象即用户实体和邮件实体,但由于系统其他实现的需要,本系统一共有六个表:
5.1实体分析
1) 用户实体
用户是系统的使用者,系统需要为每个用户单独保存在运行过程中用到的用户信息,让用户感觉到只有 自己一个人在使用系统。
2) 邮件实体
邮件实体用于持久化邮件,把邮件的所有相关信息存储在数据库中。
5.2数据库数据表结构图
图5.1 数据库表结构图
5.3数据库表详细结构设计
1.用户表 users (由james服务器自动创建)
第六章 系统详细设计
6.1 详细设计概述
软件详细设计的任务是,是为软件结构图中的每个模块确定所采用的算法和块内数据结构,用某种选定的表达工具给出清晰的描述,表达工具可以自由选择,但工具必须具有描述过程细节的能力,而且能够有利于程序员在编程时便于直接翻译成程序设计语言的源程序。
程序流程图、盒图、PAD图、HIPU图、PDL语言等等都是完成详细设计的工具,选择合适的工具并且正确地使用是十分重要的。
在概要设计阶段,已经确定了软件系统的总体结构,给出了软件系统中各个组成模块的功能和模块间的接口。作为软件设计的第二步,软件详细设计就是在软件概要设计的基础上,考虑如何实现定义的软件系统,直到对系统中的每个模块给出了足够详细的过程描述。在软件详细设计以后,程序员将仍旧根据详细设计的过程编写出实际的程序代码。因此,软件详细设计的结果基本上决定了最终的程序代码质量。
6.2 程序流程图
流程图,是一种用规定的程序框、流程线及文字说明来准确、直观地表示算法的图形。
图6.1 登录系统流程图
6.3 邮件发送和接受
由于本系统是一个邮件系统,所以邮件的发送和接受是本系统的核心。因邮件的通信有其自己的一套通信协议,所以有必要介绍下邮件的通信原理和一些基本协议。
6.3.1 邮件通信原理
电子邮件的工作过程遵循客户/服务器模式。每份电子邮件的发送都要涉及到发送方与接收方,发送方式构成客户端,而接收方构成服务器,服务器含有众多用户的电子信箱。发送方通过邮件客户程序,将编辑好的电子邮件向邮局服务器(SMTP服务器)发送。邮局服务器识别接收者的地址,并向管理该地址的邮件服务器(POP3服务器)发送消息。邮件服务器识将消息存放在接收者的电子信箱内,并告知接收者有新邮件到来。接收者通过邮件客户程序连接到服务器后,就会看到服务器的通知,进而打开自己的电子信箱来查收邮件。
图6.2 邮件传输示意图
6.3.2 邮件地址的构成
E-mail象普通的邮件—样,也需要地址,它与普通邮件的区别在于它是电子地址。所有在Internet之上有信箱的用户都有自己的一个或几个Email address,并且这些Email address都是唯一的。邮件服务器就是根据这些地址,将每封电子邮件传送到各个用户的信箱中,Email address就是用户的信箱地址。就象普通邮件一样,你能否收到你的E-mai1,取决于你是否取得了正确的电子邮件地址。
电子邮件地址的格式是“[email protected]”,由三部分组成。第一部分“USER”代表用户信箱的帐号,对于同一个邮件接收服务器来说,这个帐号必须是唯一的;第二部分“@”是分隔符;第三部分“SERVER.COM”是用户
信箱的邮件接收服务器域名,用以标志其所在的位置。
6.3.3 常见邮件协议
当前常用的电子邮件协议有SMTP、POP3、IMAP4,它们都隶属于TCP/IP协议簇,默认状态下,分别通过TCP端口25、110和143建立连接。下面分别对他们进行简单介绍。
SMTP(Simple Mail Transfer Protocol, 简单邮件传输协议):SMTP主要负责底层的邮件系统如何将邮件从一台机器传至另外一台机器。
POP(Post Office Protocol,邮局协议):目前的版本为POP3,负责从邮件服务器中检索电子邮件会把邮件从邮件服务器中传输到本地计算机。
IMAP(Internet Message Access Protocol,因特网消息访问协议):目前的版本为IMAP4, 是POP3的一种替代协议,但是又优于POP的新协议。克服了POP的一些缺点, 对邮件的操作可以不需要把邮件从服务器下载到用户的个人计算机上。
6.3.4 关键算法
发送邮件程序核心代码: /** * 发送邮件,可以有多个to, * @param user 当前登录用户 * @param newMailForm 邮件表单 * @throws Exception */ public void sendMail(UserDTO user, NewMailForm newMailForm) throws Exception{ String from = user.getUsername() +
String[] cc_ = cc.split(
Properties props = new Properties();
props.setProperty(
props.setProperty(
Session session = Session.getDefaultInstance(props); Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(from));
msg.setRecipients(Message.RecipientType.TO, tos); if(null != cc &&
if(null != bcc &&
msg.setRecipients(Message.RecipientType.BCC, bccs); } if(subject != null && subject !=
}
接收邮件程序核心代码:
/**
* 接收邮件
* @param user 当前登录用户
* @return mails 返回一个邮件列表集合 * @throws Exception */
public ArrayList receiveMail(UserDTO user, HttpServletRequest request) throws Exception{ String username = user.getUsername(); String pass = user.getPassword(); httpSession = request.getSession(); Properties props = new Properties(); props.setProperty(
//解析收件人地址 Address[] recipients = message[i].getAllRecipients(); int recLen = recipients.length; String rec =
handleMultipart(message[i], i); mail.setContent(content);
mail.setAttachment(fileName); } mails.add(mail); } folder.close(false); store.close(); return mails; } //处理邮件,包括了保存附件的功能 public void handleMultipart(Message msg, int i) throws Exception { String disposition; BodyPart part; Multipart mp = (MimeMultipart) msg.getContent(); int mpCount = mp.getCount(); ,用于除了多个part,比如多个附件 for (int m = 0; m
} }
//读取带附件的正文
public void printParts(Part p) throws IOException, MessagingException { Object o = p.getContent(); if (o instanceof String) { content = o.toString(); } else if (o instanceof Multipart) { Multipart mp = (Multipart)o; int count = mp.getCount(); for (int i = 0; i
第七章 系统实现
7.1 总体工程架构的实现
根据先前的需求及设计可以实现整个工程的目录架构。
MailOfGP是工程文件名。
src目录下全部是“.java”源代码文件。
com.gp.admin目录下是和管理员相关的代码文件。
com.gp.user目录下是和普通用户相关的代码文件。
com.pg.util 目录下是一些辅助工具类,如数据库连接类、字符过滤类等。 ../action和../form 目录下是系统业务逻辑类得实现文件。
../dao目录下是数据访问对象,主要负责对数据库的操作。
../dto 目录下是数据传输对象,主要负责转存从“dao”中得到的数据。 WebRoot 目录下存放jsp、css、js、图像等文件。
WEB-INF/struts-config.xml 是struts的配置文件,他是整个系统的控制器。
7.2 具体功能实现
在本系统中普通用户和管理员用同一个登录页面,通过“身份”选项来判断登陆之后是进入后台管理首页还是进入普通用户首页。系统登陆页如图7.01。
图7.01 系统登录页面
如果进入后台管理页面则左侧的可用选项中会有用户管理。如图7.02。
图7.02 用户简要信息列表
当管理员点击新增用户时显示新增用户页面
图7.03 新增用户
当点击用户名或修改时,显示相应用户的详细信息,并且可以修改当前信息。
图7.04 查看或修改用户信息
当点击删除是,提示管理员是否确定删除,“是”则删除当前用户,“否”则返回。
图7.05 删除用户信息
如果是普通用户登录,则登录后进入邮件系统首页。
图7.06 邮箱首页
当用户点击写信时,进入邮件编辑页面。
图7.07 新建邮件
当用户点击“收信”或“收件箱”时,显示所有已接受到的邮件的简要信息列表。
图7.08 收件箱邮件列表
当用户点击“发件箱”时,显示当前用户所有已发邮件的简要信息列表。
图7.09 发件箱邮件列表
当用户点击“个人信息”时,显示当前登录用户的详细信息。且如果要修改的话,先修改相应信息,然后点“更新提交”即可更新当前信息。
图7.10 查看或更新个人信息
当用户点击“联系人”时,列出当前用户的所有已添加的其他用户简要信息,可以在输入框中输入用户名快速添加联系人。
图7.11 添加或查看联系人
当用户在搜索输入框中输入关键字点击“搜索”时,搜索收件箱中的邮件,找到并列出与关键字匹配的邮件。
图7.12 搜索邮件列表
结论
经过几个月的艰苦奋斗,一个相对完整的邮件系统终于浮现在了我面前。这段时间可用一句话来形容“痛并快乐着”。痛是因为毕业设计确实是一个很重要的事情,需要付出一定的精力和时间去完成它;快乐是因为有着老师和同学们的帮助,使得一些关键、重要问题能够得到及时而有效的解决。
虽然所做的设计和我们专业是匹配的,但平时学习课程和所做练习能够综合统一起来的并不多,所以在整个设计、开发过程中,也同时一步步提高着我自己的专业能力水平。
当然在实现过程中总会碰到棘手的问题,但这同时也是锻炼自己意志力的时候。老师和学校也教导我们坚持就是胜利,我也秉着这样的信念一步一个脚印的踏过来。终于踏破铁鞋无觅处,但得来还是费了点功夫的,因为我先前并不是很了解邮件的具体实现,虽然平时应用接触的挺多。其中对JavaMail的使用也不了解,都是通过这段时间的学习而有所掌握。
参考文献
【1】. 编著:张友生等.《软件体系结构》[M]. 2版. 北京:清华大学出版社,
2006.11
【2】. 编著:耿祥义、张跃平.《Java 2实用教程》[M]. 3版. 北京:清华大
学出版社,2006.8
【3】. 编著:李建民、朱俊炎.《Web工程实训教程》[M].
【4】. 编著:严蔚敏、吴伟民.《数据结构(C语言版)》[M]. 北京:清华
大学出版社,1997.4
【5】. 编著:董健全、丁宝康.《数据库实用教程》[M]. 3版. 北京:清华大
学出版社,2007.11
【6】. 编著:孙卫琴. 《精通Struts:基于MVC的JavaWeb设计与开发》
[M]. 北京:电子工业出版社,2004.8
【7】. 编著:Martin L.Shoemaker. 译:高猛、朱洁梅.《UML实战教程》[M]
【8】. 编著:刘瑞新、卢晓飞、李树东.《网页设计与制作教程》[M]. 第2
版. 北京:机械工业出版社,2003
【9】. 编著:耿祥义、张跃平.《JSP基础教程》[M]. 2版. 北京:清华大学
出版社,2009.10
【10】. 编著:张海藩.《软件工程导论》[M]. 第3版. 北京:清华大学出版
社,1998
【11】. http://www.5dmail.net/ 邮件技术资讯网 [OL]
致谢
在指导老师和同学们的鼎力支持下,我终于完成了毕业设计这一重要的工作,在此期间,老师指导着我毕业设计的各个方面:怎样做才是合理有效的;指导着我独立思考和解决问题的能力。老师认真负责的工作态度,严谨的治学态度使我受益非浅。让我学到的不只是专业知识,更重要的是人生学问,在此,谨向导师表示深深的感谢和敬意。
最后感谢软件学院栽培了我,感谢所有老师对我在学校期间的无私帮助。