本科毕业论文-基于java_web的邮件管理系统的设计与实现_第1页
本科毕业论文-基于java_web的邮件管理系统的设计与实现_第2页
本科毕业论文-基于java_web的邮件管理系统的设计与实现_第3页
本科毕业论文-基于java_web的邮件管理系统的设计与实现_第4页
本科毕业论文-基于java_web的邮件管理系统的设计与实现_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计中文题目基于JAVAWEB的邮件管理系统的设计与实现英文题目BASEDONJAVAWEBEMAILMANAGEMENTSYSTEMDESIGNANDIMPLEMENTATION2014年11月26日基于JAVAWEB的邮件管理系统的设计与实现【摘要】电子邮件(EMAIL)是INTERNET上使用广泛的服务其中之一,传统的EMAIL应用模式基于C/S结构,用户以使用客户端的邮件收发工具(如OUTLOOK、FOXMAIL等)与提供邮件服务的服务器(如163NET、263NET、371NET)进行通信,用户需要进行一些必要的设置在使用客户端邮件工具之前,例如,需要对邮件服务器的主机地址和通信端口等的指定,这些工作对刚开始上网的用户会有一定的困难,如果把EMAIL和WEB结合在一起,通过WEB编程和适当的系统设置,那么用户仅仅以访问WEB的方式就可以得到和使用完整的邮件服务,这样使用户上网更加方便,这种系统称为WEBMAIL。WEBMAIL是目前INTERNET上最受欢迎的服务之一,也是很多网站必备功能之一,另外WEBMAIL同样也适用于企业或校园网的应用。此邮箱系统功能主要分为管理员管理和用户管理两个部分,管理员管理主要包括管理用户信息、删除用户、管理后台系统等;用户管理主要包括用户个人信息的管理、个人邮箱的管理等。该系统可以根据需求对功能进行扩展和完善。【关键词】电子邮件,邮件服务,WEB编程,WEBMAIL,JAVADESIGNANDIMPLEMENTATIONOFTHETOURISMWEBSITE【ABSTRACT】THEEMAILISONEOFTHEMOSTPOPULARSERVICESONINTERNET,TRADITIONALEMAILAPPLICATIONMODEISBASEDONC/SSTRUCTURE,USERSUSETHEMAILOFTHECUSTOMERENDTORECEIVEANDDISPATCHTOOLSSUCHASOUTLOOK,FOXMAIL,ETCANDSERVERSUCHAS163NET,263NET,371NETCOMMUNICATIONOFFERINGMAILSERVICE,BEFOREUSINGTHEMAILTOOLOFCUSTOMEREND,USERWANT,CARRYONSOMEESSENTIALESTABLISHMENT,SUCHASAPPOINTMAILHOSTCOMPUTERADDRESSANDCOMMUNICATIONPORT,ETCOFSERVER,THESEWORK,HAVESUREDIFFICULTIESTOUSERSSURFINGTHENETATTHEVERYBEGINNING,IFCOMBINEEMAILANDWEBTOGETHER,IESETUPTHROUGHWEBPROGRAMMINGANDAPPROPRIATESYSTEM,USETHEFAMILYTOGETANDUSETHEINTACTMAILSERVICEINAMANNERTOVISITWEBONLY,WILLSOFACILITATETHEINTERNETUSERGREATLY,THISKINDOFSYSTEMWILLBECALLEDWEBMAILWEBMAILISONEOFTHEMOSTPOPULARSERVICESONINTERNETATPRESENT,ISONEOFTHEINDISPENSABLEFUNCTIONSOFALOTOFWEBSITESTOOINADDITIONWEBMAILISSUITABLEFORTHEAPPLICATIONOFENTERPRISESORCAMPUSNETWORKTOOTHISMAILBOXSYSTEMFUNCTIONISDIVIDEDINTOPRIMARILYTHEMANAGINGPERSONMANAGESTOMANAGEWITHTHECUSTOMERTWOBIGPART,MANAGINGPERSONTHEMANAGEMENTINCLUDESTOMANAGETHECUSTOMERINFORMATION,DELETETHECUSTOMERANDMANAGETHEBACKSTAGESYSTEMETCPRIMARILYTHECUSTOMERMANAGEMENTINCLUDESMANAGEMENTETCOFTHEMANAGEMENT,PERSONALMAILBOXOFTHEPERSONALINFORMATIONINCUSTOMERPRIMARILY【KEYWORD】THEEMAIL,MAILSERVICE,WEBPROGRAMMING,WEBMAIL,JAVA目录引言1第一章绪论211课题背景212研究内容213软件的开发方法314系统开发环境的选取4第二章相关技术621目录结构622通用模块6221数据库连接池7222数据库封装723配置站点与数据库连接724主要工具详细介绍8241JSP介绍8242与传统的CGI方式相比,JSP的优点8243技术特点9244MVC模式设计思想介绍10245关于TOMCAT的安装和注意事项11第三章功能规划及现状1431功能规划的主体1432关键技术14第四章系统分析1541系统的可行性分析1542系统逻辑方案的提出16421用例图的分析16422系统管理员功能17423用户功能17第五章系统设计1951系统流程图19511管理员的系统流程图19512用户的系统流程图1952系统模块的功能图2053实体之间的关系ER图2154数据库结构设计22541创建数据表23542系统信息配置表23543日志表24544用户表24545FRIEND好友表25546邮件信息记录表2555数据库的ER图26第六章程序设计与实现2761管理员登录模块设计与实现2762管理员用户管理模块设计与实现2863管理员系统设置模块设计与实现3064用户注册模块设计与实现3165用户登录模块设计与实现3266用户撰写发送邮件模块设计与实现3367用户收件箱管理模块设计与实现3568用户修改个人资料管理模块设计与实现3669服务器端的系统活动图设计36结束语39第七章致谢40第八章参考文献1引言本文就基于JAVAWEB的邮件管理系统的设计与实现进行研究。邮件管理系统是一个基于用户关系的邮件收发,邮件管理和用户管理系统。该系统利用JAVA语言和MYECLIPSE编辑工具对系统进行编写。同时给出了详细的系统设计过程、部分界面图及主要功能运行流程图,邮件管理系统实现的功能有用户登录、用户注册、邮件的接收,发送,删除,对用户信息的增加,删除和修改,用户可以对邮箱信息进行管理。适用于所有的邮箱使用者,为用提供了一个良好的邮件管理途径。本系统采用MVC模式设计,实现了一个简单的邮件管理系统。MVC模式极大地提高了系统的复用性、灵活性、适应性、开发效率和可维护性,充分发挥了JSP、SERVLET等J2EE组件的特点。此邮件管理系统主要是实现邮件的简单发送,它有很多的优势,例如并不要求发送者和接受者同时存在,任何人在任何地点都可以发送邮件,接收者可以随时接收邮件,它并不会受到时间和地点的限制。而且用户可以对收到的邮件进行阅读,保存,删除等操作,方便了用户对邮件信息进行的管理。此次设计实现了简单邮件管理系统的设计与开发,本系统实现邮件的基本功能有,实现用户登入模块用户登录后才能进行邮件收发操作。实现邮件收发用户可收取和发送邮件实现邮件的阅读,删除功能。实现用户管理功能对用户进行添加,删除和修改信息。第一章绪论11课题背景电子邮件是介于书信、电话和传真之间的电子信息传送方式。随着互联网的进一步发展,电子邮件已经成为人们联系沟通的重要途径。电子邮件系统已经发展成为了一个相当复杂而且功能更为丰富的系统,它可以传送文档、图像、声音、图片、图像等多媒体信息,甚至于数据库或帐目报告等更加专业化的文件都可以以电子邮件的形式在网上分发。随着信息技术的发展以及电子邮件系统功能的日益强大,它的应用领域已得到较大的提升。网络的普及使得邮件管理系统得以广泛的应用。采用开放的WEB邮件服务不仅为用户省去了维护与升级客户端软件的麻烦,并且也能够充分发挥系统软硬件资源的作用。WEB邮件服务的另一个优势是允许用户,甚至是持有移动设备的用户,可以随时、随地的访问系统并进行信息传递1。12研究内容随着新技术的不断涌现,电子邮件产品越来越多,而且也越来越丰富。在邮件服务器端有FTPMAIL服务器、MICROSOFTEXCHANGE服务器、QMAIL服务器等等。这些服务器都有相应的操作系统支持,而且有的又有很好的跨平台性,像SENDMAIL服务器它在LINUX、UNIX、都可用。在邮件系统客户端,其中MICROSOFTOUTLOOK、NETSCAPEMAIL、FOXMAIL是当今电子邮件客户端软件的主流产品;另外,随着网络的普及,基于WEB的应用模式的发展与应用,例如SINA、263以及众多的企业都已推出了自己的WEB邮件系统2。本课题将研究如何使用PHP、POP3、STMP、IMAP等技术实现B/S邮件服务器。利用JSP等实现其功能,功能主要有邮件的收发、存储、删除等等。13软件的开发方法面向对象的方法经由系统分析、设计和试验等几个阶段,并需要遵从软件生命周期的规律。软件的生命周期指一个软件从它的开发到其消亡的过程3。以下就是利用生命周期法开发软件在各个阶段的具体内容(1)问题定义及其可行性论证明确软件开发的请求,并进行初步的调查,通过可行性研究确定下一阶段的实施。可行性分析的任务就是确定项目开发的可行性和必要性。也就是说,对所提出的问题进行分析,来决定所提出的问题是否“可行”。可行性是指,首先要在技术上可行,现有技术能否解决所提出的问题;其次是在经济上可行,用户能否支付实施项目所需要的费用,项目建成后能否取得预期的经济效益;最后进行操作上和法律上的可行性研究。综合这些方面,最终决定是否实施该项目。(2)用户需求分析阶段在这个阶段中,就是了解用户的需求,准确的确定用户需要的功能,明确为了实现这些功能,需要做哪些处理,需要处理哪些数据;需要存储什么数据文件;得到什么信息。并且需要找出为了实现功能所需要的约束条件,例如,成本约束和时间约束。另一个重要任务是要规定系统的生效准则,规定在目标系统建成后验收目标系统的一些原则以及具体的验收方法等。具体工作主要是详细调查,其具体的调查内容有分析当前各大网站上的邮箱的功能和实现方法,了解使用者在使用过程中存在的问题以及希望使用到的功能。(3)系统设计阶段此阶段的任务是在系统分析的基础上,按照逻辑模型的要求,合理地进行系统的总体设计和具体的物理设计,为下一阶段的系统实施提供必要的技术资料。具体分为详细设计阶段和概要设计阶段。详细设计阶段在这个阶段中的任务是进行系统所需要的数据结构设计和数据库的物理设计。输入输出设计、编写程序模块设计说明书。概要设计阶段这个阶段中的主要任务是得到一个能够实现用户需求的理想的系统结构。所谓理想的结构指的是能够实现需求阶段中规定的功能;系统容易设计和实现;系统易于维护。设计内容包括划分子系统、设计规范制定、数据流程图设计、功能结构图设计、系统物理配置方案设计。系统设计工作结束后,要提交系统设计报告。若系统设计被审查批准,整个系统开发工作便进入系统实施阶段4。(4)系统实施阶段这是软件系统的实现阶段,要进行模块编码和模块测试。模块测试又称为单元测试。模块编码要严格按详细设计阶段开发的模块逻辑进行。模块程序设计完成之后,应经过严格的测试。程序测试应该采用科学的方法。主要是黑盒法和白盒法进行测试,从而尽可能多地发现模块中错误,并加以改正。把经过彻底测试的模块组装起来形成需要的应用系统。再进行集成测试,采用的是黑盒测试方法,集成的方法可采用自顶向下集成或自底向上集成,或者二者结合的方法。(5)维护阶段主要包括改正性维护、适应性维护和完善性维护改正性维护指的是修改程序中所遗漏的错误,确保用户程序能正常运行;完善性维护指的是增加了程序的功能,来满足用户的进一步需求;适应性维护指的是在用户改变硬件或软件支持环境时候,满足程序的需求来修改工作。维护阶段是一个非常重要的阶段,维护工作的好坏直接影响到用户的满意程度。14系统开发环境的选取(1)硬件环境CPUP4内存512M具备INTERNET上网条件。(2)软件环境操作系统WIN7PROFESSIONALJBUILDERX、MYSQL、JDKI42、DREAMWEAVER、操作系统启用TCP/IP。(3)简介JBUILDERBORLANDJBUILDER是全球第一的跨平台JAVA开发环境,可建构符合业界标准的JAVA应用系统,开发EJB、WEB、XML以及数据库等各类应用程序。经由JBUIDER双向的、可视化的设计工具,您可以快速开发各种J2EE应用程序,并将其部署到多种应用程序服务器上,包括BEAWEBLOGIC、IBMWEBSPHERE、SUN、ONE、ORACLE9IAPPLICATIONSERVER以及集成于JBUILDER的BORLANDENTERPRISESERVER。(4)简介MYSQLMYSQL数据库,它的缺点是,缺乏一个全功能数据库的大多数主要特征,但是它又有比类似XBASE记录存储引擎更多的特征。它像企业级RDBMS那样需要一个积极的服务者守护程序,但是不能象他们那样消费资源。其中MYSQL数据库的查询语言允许复杂的连接JOIN查询,但它要求所有的参考完整必须有强制保证。MYSQL在LINUX世界里找到一个位置提供简洁和速度,同时仍然提供足够的功能。它具备的查询功能和广泛的客户库被数据程序员广泛运用,数据库管理员会觉得系统缺乏主要数据库功能,他们会发觉它对简单数据库是有价值的5。第二章相关技术系统环境的搭建,最基础的就是从目录的建立开始,建立系统的基础应用模块和站点配置环境,并进行数据库的正常连接。目录结构在程序设计和开发之前要设计系统的目录结构,一般这个结构对任何得B/S系统都是通用的,本系统的目录结构如图21所示。图21目录结构此目录结构中,MAIL代表本站的根目录,它包含四个子目录DATABASE的功能是用于存放数据库备份文件,DOCS用于存放系统的文档,JSP和WEBIN用于存放系统的JSP等的源文件和系统所使用的类包。JSP的根目录下是一些JSP的源文件,下面所包含四个子目录FACE用于存放用户自定义的头像,INC用于存放一些公用的JSP页面,JS用于存放脚本文件,PIC用于存放图片文件。WEBINF包含两个子目录CLASSES用于存放类文件,LIB用于存放类包文件,同时该目录下还包括站点的配置文件WEBXML。22通用模块该系统采用数据库连接池对数据库进行的统一管理,同时在数据库操作上进行了封装,使得程序开发始于数据库的交互更加方便。221数据库连接池在实现某一个功能时,首先要连接数据库。如果在每一次需要进行数据库操作前都来加载驱动、创建连接,那么在连接的入口参数处理上便不好管理以及维护。一旦系统移植,数据库参数改变,将需要重新修改所有的连接代码,重新编译。首先在文件DBPROPERTIES配置数据库连接参数,这些参数包括数据库的驱动、连接通信、用户名、密码。这样,在数据库移植或系统环境改变时,只需修改这一个地方就可以了,十分方便。DRIVERSCOMMICROSOFTJDBCMYSQLMYSQLDRIVERLOGFILECLOGTXTMYSQLURLJDBCMICROSOFTMYSQL/NEU0291433DATABASENAMEBBSMYSQLMAXCONN1000MYSQLUSERMAILMYSQLPASSWORDMAIL此系统采用了类DBCONNECTIONMANAGER来统一管理数据库的连接。具体代码参见DBCONNECTIONMANAGERJAVA文件。222数据库封装数据库已经连接,在每一次需要进行数据库的某种操作时,调用JDBC的函数就可以了,但是直接调用JDBC函数将使代码的编写工作十分浪费,该系统封装了数据库操作的类DBCONNECT,具体代码参见DBCONNECTJAVA。该类封装了数据库操作的基本函数,用于作为JAVABEAN的父类,便于统一管理。该类的一个重要作用是从连接池里取得一个连接,在使用结束时关闭连接。统一处理了很多额外的工作和异常的抛出。23配置站点与数据库连接(1)安装JDK140下载JDK140版本安装程序,连续单击“下一步”按钮,安装过程中均采用默认选择,直至安装结束。安装结束后,在桌面“我的电脑”图表上右击,在谈出的快捷菜单中选择“属性”命令,弹出“系统特性”对话框,在“高级”选项卡中单击“环境变量”按钮,在弹出的对话框中新建环境变量JAVA_HOME,值为CJ2SDK140。(2)安装TOMCAT50连续单击“下一步”按钮,直至安装结束,在选择安装路径时推荐安装在根目录,如CTOMCAT50。设置环境变量在“我的电脑”属性中设置环境变两位TOMCAT_HOMECTOMCAT。建立站点将整个文件目录MAIL复制到TOMCAT50下的WEBAPPS文件夹下。(3)访问系统启动MYSQL,TOMCAT,输入地址HTTP/LOCALHOST8080/MAIL/JSP/LOGINJSP即可访问,用户ADMIN,密码初始化为TEST。至此,软件环境安装完成。24主要工具详细介绍241JSP介绍JSPJAVASERVERPAGES是由SUNMICROSYSTEMS公司倡导、许多公司参与一起建立的一种动态网页技术标准,其网址为HTTP/WWWJAVASOFTCOM/PRODUCTS/JSP。在传统的网页HTML文件HTMHTML中加入JAVA程序片断SCRIPTLET和JSP标记TAG,就构成了JSP网页JSP。WEB服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送EMAIL等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无PLUGIN,无ACTIVEX,无JAVAAPPLET,甚至无FRAME。JSP提供了一种简单快速的建立基于动态内容显示的站点的技术。在JSP文件中可以包含HTML标记、JSP语法、SERVLET标记和NCSA标记,使得HTML的编码从WEB页面的业务逻辑中有效地分离出来6。与传统的CGI方式相比,JSP的优点(1)后台的实现是基于JAVACOMPONENT的逻辑,它具有跨平台的特点。(2)将应用逻辑与页面表现分离,最大程度服用应用逻辑能够,从而提高开发效率。(3)运行比CGI方式高,尤其是对于数据库访问,提供了连接池缓冲机制,使运行所需资源最小。(4)安全,由于后台是完全基于JAVA技术的,安全性由JAVA的安全机制予以保障。(5)由于与ASP很相似,不需要太多的编程知识就可以动手编写JSP。(6)内置支持XML,使用XML从而使页面具有更强的表现力和减少编程工作量。243技术特点(1)将内容的生成和显示进行分离。使用JSP技术,WEB页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容。生成内容的逻辑被封装在标识和JAVABEANS组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和BEANS中,那么其他人,如WEB管理人员和页面设计者,能够编程和使用JSP页面,而不影响内容的生成。在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容(例如,通过访问JAVABEANS组件,使用JDBCTM技术访问数据库,或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的WEB浏览器的完全可用性7。(2)强调可重用的组件。绝大多数JSP页面依赖于可重用的,跨平台的组件(JAVABEANS或者ENTERPRISEJAVABEANSTM组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技术和优化结果的开发努力中得到平衡。(3)采用标识简化页面开发。WEB页面开发人员不会都是很熟悉脚本语言的程序员。JAVASERVERPAGE技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成需要的。标准的JSP标识能够访问和实例化JAVABEANS组件,设置或者检索组件属性,下载APPLET,以及执行用其他方法更难于编码和耗时的功能。通过开发定制化标准库,JSP技术好似可以扩展的。今后,第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得WEB页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。作为采用JAVA技术家族的一部分,以及JAVA2(企业版体系结构)的一个组成部分,JSP技术能够支持高度复杂的基于WEB的应用。由于JSP页面的内置脚本语言是基于JAVA编程语言的,而且所有的JSP页面都被编译成JAVASERVLET,JSP页面就具有JAVA技术的所有好处,包括健壮的存储管理和安全性。作为JAVA平台的一部分,JSP拥有JAVA编程语言“一次编写,各处运行”的特点。随着越来越多的供应商将JSP支持添加到他们的产品中,你可以使用自己所选择的服务器和工具,更改工具或服务器并不影响当前的应用。244MVC模式设计思想介绍MVC英文即MODELVIEWCONTROLLER,即把一个应用的输入、处理、输出流程按照MODEL、VIEW、CONTROLLER的方式进行分离,这样一个应用被分成三个层模型层、视图层、控制层。视图VIEW代表用户交互界面,对于WEB应用来说,可以概括为HTML界面,但有可能为XHTML、XML和APPLET。随着应用的复杂性和规模性,界面的处理也变得具有挑战性。一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交予模型MODEL处理。比如一个订单的视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制和模型。模型MODEL就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC最主要的核心。目前流行的EJB模型就是一个典型的应用例子,它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件,但它不能作为应用设计模型的框架。它仅仅告诉你按这种模型设计就可以利用某些技术组件,从而减少了技术上的困难。对一个开发者来说,就可以专注于业务模型的设计。MVC设计模式告诉我们,把应用的模型按一定的规则抽取出来,抽取的层次很重要,这也是判断开发人员是否优秀的设计依据。抽象与具体不能隔得太远,也不能太近。MVC并没有提供模型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的重构和提高重用性。我们可以用对象编程来做比喻,MVC定义了一个顶级类,告诉它的子类你只能做这些,但没法限制你能做这些。这点对编程的开发人员非常重要。业务模型还有一个很重要的模型那就是数据模型。数据模型主要指实体对象的数据保存(持续化)。比如将一张订单保存到数据库,从数据库获取订单。我们可以将这个模型单独列出,所有有关数据库的操作只限制在该模型中8。控制CONTROLLER可以理解为从用户接收请求,将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。例如,用户点击一个连接,控制层接受请求后,并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。因此,一个模型可能对应多个视图,一个视图可能对应多个模型。模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化传播机制。模型、视图、控制器三者之间的关系和各自的主要功能,如图22所示如图22MVC组件类型的关系和功能245关于TOMCAT的安装和注意事项(1)通过安装JBULIDER9来安装TOMCAT直接安装JBULIDER9,安装过程中会给出JVM(JAVA虚拟机)的安装路径,一般为JBULIDER9JDK14。再安装TOMCAT,安装过程中会询问系统中已有JVM的安装路径,安装程序将会自动定位JVM的位置。最好重新启动一遍计算机。不必配置诸如CLASSPATH、PATH、JAVAHOME等系统环境变量。正常启动TOMCAT即可。(2)直接安装TOMCAT安装JDK14,安装完毕后,按程序要求重新启动计算机。安装TOMCAT,安装过程中会询问系统中已有JVM的安装路径,安装程序将会自动定位JVM的位置。需要将JDK14安装路径下的LIB文件夹中的TOOLSJAR文件拷贝到TOMCAT50COMMONLIB文件下,并且只有在TOMCAT关闭条件下,更新才有效。重新启动计算机。不必配置诸如CLASSPATH、PATH、JAVAHOME等系统环境变量。正常启动TOMCAT即可。(3)注意事项TOMCAT对文件名(包括路径和后缀)的大小写是敏感的。TOMCAT的默认网站根路径为TOMCAT50WEBAPPSROOT在编写JSP文件时,应特别注意其文件命名(包括存放路径)时最好不要大小写混用,应统一为小写,养成良好编程习惯。(4)如何获得TOMCAT的错误提示信息TOMCAT运行时,会在任务栏右下角中出现类似MSMYSQL的图标,双击即可得到错误提示信息列表窗口。第三章功能规划及现状功能规划的主体凡事预则立,不预则废。科学的规划对于任何需要经过较长时间努力才能实现的事情都是非常重要的。规划,一般是指对较长时期的活动进行总体的、全面的计划。做好计划是非常重要的环节。比如说邮件的开发系统,它是一个功能很多的系统,我就必须做好规划。主要在进入邮箱后功能方面规划,有收邮件、发邮件、写邮件、通讯录、回邮件、草稿箱、垃圾箱和转发;在登陆邮箱界面上还有注册、注册用户列表、管理员登陆和退出邮箱等几个功能。还有其它一些基本的小功能都实现在各个主要功能的内部,比如说对于邮件箱内的邮件的删除等一些功能,这些都必须在开发前做好规划。总之,软件开发中,往往缺乏科学的、有效的系统规划。一定要尽量避免这些缺点。32关键技术随着互联网的普及,国内外的互联网用户数呈指数增长。为满足不断增长的信息交流需要,作为因特网第一应用的电子邮件系统变得越来越重要。随着网络环境的建设与完善,许多用户已经提出这样的要求拥有自己的WEB邮件系统。国外的电子邮件系统可真叫四通八达,这种手段已经成为他们通信最流行的几种方式之一了。相比较国内,电子邮件系统还不算太完善,电子邮件通信的方式还不算太流行,如何才能把这种方式大众化、流行化呢这还需要我们去认识它、了解它、使用它。国外已经有了许许多多的电子邮件系统,国内也有一些这样的系统,我觉得这些还不够充实这个庞大的流行团体,所以我自己要开发一个简单的属于我自己的电子邮件系统,来满足我及其他用户的需要。第四章系统分析系统的可行性分析可行性研究是以相对短的时间和相对低的成本来确定给定的问题是否有解。这里相对短和相对低是指和实现建议系统所需时间和成本相比较而言。可行性研究主要从下述4个方面进行研究技术可行性、经济可行性、操作可行性和调度可行性。(1)技术可行性技术可行性的考虑集中在现存的计算机硬件能否支持被研究的系统,首先关心的是该组织是否有相应的软件和硬件能够支持处理建议的应用程序。其次考虑在规定平台之上,利用现有的成熟技术是否能够实现这个应用。现代计算机硬、软件技术的飞速发展,为系统建设提供了技术条件。计算机等基础设施的更新换代也紧跟潮流的发展,这就为开发系统提供了坚实基础。(2)经济可行性这是经典的并且是最常使用的评价计算机系统的方法。这个评价的结果称为成本效益分析。简单地说,经济可行性研究是确定得自新系统的节省和利益,将这些利益和系统的实现成本相比较,如果利益超过成本,则开发新系统的决策是肯定的;否则的话,除非有其他特殊原因,这个决策将是否定的。本软件的实现是作为考核学生学习情况的手段,不存在经济可行性的问题。(3)操作可行性是指人员的手工操作而不是指计算机系统操作是否可行,也就是说在实现了建议的计算机系统后,所需要的配合的手工操作是否可行。作为新时代的学生,几乎人人都具备计算机的基本操作能力,而本软件的使用又十分简单方便,所以具备操作可行性。(4)调度可行性指的是建议的计算机系统能否在规定的期限内交付给用户。基于本软件,经过上述的分析,可以在规定的期限内完成9。从当前情况来看,本软件的开发是可行的。42系统逻辑方案的提出在问题定义阶段对建议的功能、规模和约束条件等已经作了规定。在可行性研究阶段通过和使用者的交流,对用户的需求有了初步的了解。因此在这个阶段中,设计者应该进一步澄清问题定义中的模糊部分,更正错误部分。通过这个活动,清楚地描述系统的主要功能10。421用例图的分析(1)用例的内容用例图使我们对系统的功能有了一个整体的认知,我们可以知道有哪些参与者会与系统发生交互,每一个参与者需要系统为它提供什么样的服务。(2)用例的优点用例方法完全是站在用户的角度上(从系统的外部)来描述系统的功能的。在用例方法中,我们把被定义系统看作是一个黑箱,我们并不关心系统内部是如何完成它所提供的功能的。用例方法首先描述了被定义系统有哪些外部使用者(抽象成为ACTOR),这些使用者与被定义系统发生交互;针对每一参与者,用例方法又描述了系统为这些参与者提供了什么样的服务(抽象成为USECASE),或者说系统是如何被这些参与者使用的。所以从用例图中,我们可以得到对于被定义系统的一个总体印象11。与传统的功能分解方式相比,用例方法完全是从外部来定义系统的功能,它把需求与设计完全分离开来。在面向对象的分析设计方法中,用例模型主要用于表述系统的功能性需求,系统的设计主要由对象模型来记录表述。另外,用例定义了系统功能的使用环境与上下文,每一个用例描述的是一个完整的系统服务。(3)确定本系统功能的用户用例图,如图41。新用户登陆本系统注册用户;已经注册的用户直接输入用户名和密码登陆系统;登陆成功进入邮箱,其中具有收发邮件、写邮件、删除邮件等功能;操作系统完成可以退出本系统。(4)确定本系统功能的管理员用例图,如图42。返回管理员登陆界面;管理用户信息;安排系统设置;退出管理员系统。422系统管理员功能(1)管理员登录系统初始化好系统管理员,管理员能够通过该入口进入后台进行管理操作。(2)管理员管理注册用户管理员可以对系统的注册用户进行管理,查询系统中的注册用户,直接添加用户,对于违规用户可以删除,以及查看某注册用户的详细注册信息和列为好友。(3)管理员系统设置系统一般有一些初始化信息,比如系统名称、系统的URL、主业名称、主页的URL、系统管理员EMAIL、系统LOGO通信、有新邮件提示等,管理员可以在后台界面自行设置。(4)用户注册网络用户均能够注册。注册的用户信息包括注册名、性别、密码、确认密码(以便保证用户两次输入的密码都一样)、电子邮件、QICQ号码等。其中注册名、性别、密码和电子邮件是必添项,并且用户名不能重复。423用户功能(1)用户登录系统注册用户使用自己注册的用户名登录系统,进行邮件的管理和个人注册信息的管理。其中邮件的管理又包括收件箱、垃圾箱、草稿箱、发件箱、通信薄等的管理。(2)撰写发送邮件填写收件人、标题和收件内容后,可以给发件人发送邮件。(3)收件箱管理显示用户所有收到的邮件列表,可以查看邮件的详细内容,可以选中所要删除的邮件进行删除或者删除收件箱中所有邮件,所删除的邮件被转移到垃圾箱。(4)垃圾箱管理显示用户从收件箱中删除的所有邮件列表,可以查看邮件的详细内容,可以选中所要删除的邮件进行删除或者删除垃圾箱中所有邮件,所删除的邮件则被彻底地删除。(5)草稿箱管理显示用户所有保存的准备发送的邮件列表,可以查看邮件的详细内容并且进行修改,可以选中所要删除的邮件进行删除或者删除草稿箱中所有邮件。(6)发件箱管理显示用户发送的所有邮件列表,可以查看邮件的详细内容,可以选中所要删除的邮件进行删除或者删除所有已发邮件。(7)通信薄的管理显示所有好友列表,可以添加好友,可以选中所要删除记录进行删除或者删除所有好友,可以查看个人详细信息,可以选中其中的好友发送邮件。第五章系统设计系统流程图系统流程图又叫事务流程图,是在计算机事务处理应用进行系统分析时常用的一种描述方法(另一个是数据流图),它描述了计算机事务处理中从数据输入开始到获得输出为止,各个处理工序的逻辑过程。511管理员的系统流程图首先管理员要系统参数设置和管理,当用户注册成为系统用户之后,管理员在进行对用户的管理工作,流程如下图51所示。图51系统流程图管理员512用户的系统流程图没有身份的用户需要先注册,登录系统后可以查看和修改个人信息、发送邮件等邮件管理操作。如下图52所示。图52系统流程图注册用户52系统模块的功能图通过系统模块的功能图描述,可以很直观的看到系统的各个功能组件,功能图如下图53所示。此模块的功能图是从整个系统出发,描绘出来的。其中介绍了管理员各个功能和基本用户的功能等等。用模块的功能图描绘整个系统,使系统各个功能清晰可见,层次分明,是一种比较好的方法。图53模块的功能图53实体之间的关系ER图在此邮件系统中的实体有管理员信息实体、用户信息实体、邮件实体、系统配置信息实体。实体之间的关系ER图如下图54所示。图54实体之间的关系ER图54数据库结构设计在邮件服务器系统的数据库设计中,首先要创建系统数据库,然后在数据库中创建需要的表和字段。数据库设计是系统设计中非常重要的一个环节,因为数据库设计就像在建设高楼大厦的根基一样,如果设计不好,在后来的系统维护、变更和功能扩充时,甚至于在系统开发过程中,都将会引起比较大的问题,有时大量的工作将会重新进行12。考虑到将来功能上的扩展,设计如下所示的数据项和数据结构用户信息包括数据项,有用户名、密码等。邮件信息包括数据项,有发件人、收件人、主题、内容、发送时间等。系统配置信息包括数据项,有系统名称、系统说明、系统通信等。基于上面的设计,在设计系统中的各表,表与表之间相互关联,系统所需要的数据被共同存储着。在设计数据库表的过程中,一般要遵循以下几个原则数据库设计的表最好只存储一个实体或对象的相关信息,不同的实体最好能够存储在不同的数据表中,如果实体还可以再划分,实体的划分原则是最好能够比当前系统要开发的实体的复杂度更小;数据表的信息结构一定要合适,标的字段的数量一般不要过多;扩充信息和动态变化的信息一定要分开在不同的表里;多对多这样的表关系尽量不要出现等13。541创建数据表在创建表与视图之前,首先要创建一个数据库,步骤如下(1)启动MYSQL服务管理器,启动服务。(2)进入企业管理器,建立数据库BBS。(3)进入新建数据库的用户选项,右击“建立用户”命令,输入用户名MAIL,密码MAIL,选择该用户的权限为PUBLIC,DO_OWNER。本系统各个表的设计结果如表55所示。表55数据库表542系统信息配置表系统信息配置表如表56所示,该表对系统的某些信息进行配置,如系统URL通信、公司名称、主页URL通信、EMAIL、适应时间、图片通信等。进行这些设置是为了尽可能最大地利用有限的资源,同时更有效地管理系统,对使用该系统的用户量的信息也有一个很好的纪录。利用这个表,对系统的某些信息进行配置,使这些信息更加的清晰、使用也方便。表56CONFIG系统配置表543日志表表57是日志表记录本系统的用户访问信息。L_ID即“日志编号”是系统为其分配的唯一标识符;L_USERNAME是使用此系统的用户名;L_CONTENT是系统日志的一个主要内容记录;L_URL记录了用户访问得系统的通信;L_ADDTIME是此条日志生成的时间。这部分内容是给系统预留的接口,使得有扩展的功能。表57日志表544用户表表58是用户表,该表包含了用户的基本且必要的信息,其中USERID是“用户编号”,是系统为用户分配的唯一标识符,它在整个用户表存储的数据里是互不相同的,而且在系统的许多其它表里也要用到它;用户名和密码也是必需的,作为用户登录的入口,其中用户名也要求是唯一的。表58用户表注此表只列出基本信息,常用的未作分析,例如用户年龄段、用户生日、用户学历、所在城市等,而用户年龄段和用户学历可以用来对用户群体进行分析,以便确定系统的使用群体。545FRIEND好友表表59是FRIEND好友表,该表用于记录用户加入到通信薄中的用户,方便用户给好友发送邮件。表59好友表546邮件信息记录表表510是邮件信息记录表,记录系统用户所发送的所有邮件。表510邮件信息记录表至此,个个数据表的结构全部设计完成,即定义好邮件系统的数据结构,用于存储邮件系统中的各项数据。55数据库的ER图本系统根据上面的设计规划出的实体包括用户信息实体MYUSER、邮件数据实体MESSAGE、系统配置信息实体CONFIG、好友实体FRIEND等。通过对实体联系的分析,在本系统中使用POWERDESIGNER设计ER模型。POWERDESIGNER的概念数据模型CDM把现实的信息简化为实体与实体之间的联系,它与DBMS无关。CDM的建立是一个比较复杂的过程,实体关系图的分析结果也非常复杂,一般情况下使用自底向上的方法,首先对局部视图进行分析设计,然后再实现视图集成。这里不再对局部视图进行设计,直接给出视图集成后的ER图,如图511所示。R_11NN1R21NN1R31NN1CONFIGFORUMNAMEFORUMURLCOMPANYNAMEHOSTURLSMTPSERVERSYSTEMEMAILTIMEADJUSTLOGOPICURLFACEURLEMAILFLAGIPFLAGFROMFLAGMAXTITLELISTTABLEBACKCOLORATABLEBACKCOLORTABLETITLECOLORATABLETITLECOLORTABLEBODYCOLORATABLEBODYCOLORTABLEFONTCOLORTABLECONTENTCOLORALERTFONTCOLORCONTENTTITLEADS1ADS2COPYRIGHTVERSIONTITLEFLAGUPLOADFLAGVA200VA200VA20VA20VA20VA20VA20VA200VA200VA200N10N10VA200VA20VA20VA20VA20VA20VA20VA20VA20VA20VA20VA200VA200VA200VA200VA200N10N10LOGL_IDL_USERNAMEL_CONTENTL_URLL_ADDTIMEN10VA20VA200VA20VA20KEY_1MYUSERUSERIDUSERNAMELARTICLEUSERPASSWORDHOMEPAGEADDDATELOGINSWIDTHHEIGHTOICQLASTLOGINN10VA20USEREMAILVA30VA20VA50DN10N10N10N10DKEY_1FRIENDF_IDF_USERNAMEF_FRIENDF_ADDTIMEN10VA20VA20VA20KEY_1MESSAGEIDSENDERINCEPTTITLECONTENTFLAGSENDTIMEDELRDELSISSENDNUMNRT10VA20VA20VA20VA20N1VA20N1N1N1KEY_1图511简易邮件系统数据库ER图使用用户信息进行用户基本信息的管理,以及登录系统时用户名、密码和权限的设定;在设计时,充分考虑了用户使用邮件系统收发邮件的便捷性。其实,以上ER图只是简易邮件系统最基本元素的实体关系图,读者可以在此基础上根据用户的不同需要进行扩展。第六章程序设计与实现有系统设计可知本系统的设计共分为如下两大部分(1)管理模块用于管理员对注册用户管理和系统设置管理,它包括管理员登录界面;用户管理列表、搜索、查看、增加、删除;系统设置管理查看、修改。(2)用户模块用于用户进行邮件管理,它包括注册注册、修改个人信息;登录登录;撰写发送邮件发送邮件;收件箱管理列表、查看、删除、清空收件箱;垃圾箱管理列表、查看、删除、清空垃圾箱;草稿箱管理列表、查看、删除、清空草稿箱;发件箱管理列表、查看、删除、清空发件箱;通信薄管理列表、查看、删除、清空通信薄、添加好友、发送邮件。根据这些整体关系的设计下面对每一个部分给出主界面的设计及其设计思路。管理员登录模块设计与实现管理员用户登录的界面中,包括用户名和密码得输入文本框,以及提交登录按钮和重写按钮。管理员登录界面如图61所示。图61管理员登录界面管理员的登录,使用的是类USERJAVA,SKINUTILJAVA等,其中USERJAVA是专门为用户写的一个类,同时也作为一般用户的登录类,该类代码如下/登录参数PRIVATESTRINGUSERNAME/登录用户名PRIVATESTRINGPASSWORD/登录密码PRIVATEINTUSERCLASS/管理级别,用来判断是否管理员登录在执行登录时,页面MAILJSPELOGINJSP调用类文件中的函数所填写的信息进行处理,然后对登录管理员进行验证。62管理员用户管理模块设计与实现管理员登录后,首要的功能是对系统用户和系统参数的管理。管理员的管理主页面上具有进入用户管理和系统参数设置管理的入口。当管理员进行管理操作之后,要退出管理界面,则要退出管理的出口。设计结果如图62所示。图62管理员登录主界面图62所示即为管理员登录后的管理首页,单击左边的“返回管理首页”链接返回到管理首页,单击“注册用户管理”链接可以进行用户管理,单击“系统设置”链接可以进行系统参数设置管理,单击“退出管理”链接可以退出管理界面。用户的信息需要由系统管理员来进行管理和维护。为此,设计了用户列表的界面,该界面中需要包括如下的信息用户的ID号数据库表中的编号、用户名,还应该提供用户管理的入口,包括删除等,还应该提供可以查看详细资料的查看入口来显示用户的基本信息,以及用来填写所要查询用户的用户名的文本框和查询按钮。注册用户列表页面设计如图63所示。图63管理员用户管理界面当管理员需要删除用户时,只需要在对应的用户名的CHECKBOX打上钩,然后单击“删除”按钮,就可以删除所有选中的用户。当需要查找某用户名时,只需要在文本中填写用户名,然后单击“查询”按钮,即可查找出所有符合条件的用户列表信息。当需要查看某一用户的

温馨提示

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

评论

0/150

提交评论