基于Swing的企业快信系统的设计与实现.docx
- 文档编号:25039881
- 上传时间:2023-06-04
- 格式:DOCX
- 页数:41
- 大小:511.69KB
基于Swing的企业快信系统的设计与实现.docx
《基于Swing的企业快信系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于Swing的企业快信系统的设计与实现.docx(41页珍藏版)》请在冰豆网上搜索。
基于Swing的企业快信系统的设计与实现
基于Swing的企业快信系统的设计与实现
摘要
随着计算机和网络技术的迅猛发展和推广应用,短信和E-mail已经成为人与人之间沟通的桥梁。
网络通讯作为通讯的一种形式正以其高效率,低成本,逐步成为企业的新宠,人们已经不再满足集团网和邮箱分别进行使用,而是希望能将他们进行一体化,从而能够享受网络所带来的更多便利。
本文以企业短信系统的设计与实现为基线,分析了C/S和B/S构架的特点,选用JAVA平台,使用Swing和短信猫进行系统的实现。
在深入研究JAVA平台下数据库存取的各种机制后,根据企业快信自身的特点,采用MySQL为数据平台,Apache6.0网络信息服务作为应用服务器。
为提高效率,性能,安全,并达到三者的平衡,采用合理的机制实现了企业快信系统,实践表明,文中描述的设计和实现方法是合理的,切实可行的。
【关键词】企业快信;Java;Swing;MySQL数据库
TheDesignandImplementofBusinessExpressMailSystemsBasedonSwing
Abstract
Withtherapiddevelopment,popularizationandapplicationofcomputerandnetworktechnology,SMSandE-mailhasbecomeabridgeofcommunicationbetweenpeople.Thenetworkcommunicationasaformofcommunicationishighefficiency,lowcost,andgraduallybecomethelatestmust-havesintheenterprise,peoplenolongercontentgroupseparatelyusingnetworkandemail,buthopetobeabletointegrate,sothattheycanenjoythenetworkbringsmoreconvenient.
ThisPaperisbasedonenterprisemessagingsystemdesignandimplementationforthebaseline,analyzedthecharacteristicsofC/SandB/Sarchitecture,choosetheJAVAplatform,usetheSwingandSMScatfortherealizationofthesystem.FurtherresearchtoaccessavarietyofmechanismsofthedatabasewhichaboutJAVAplatform,andAccordingtothecharacteristicsoftheexpresscompany,usingMySQLasthedataplatform,Apache6.0networkinformationservicesastheapplicationserver.Inordertoimprovetheefficiency,performance,safety,andachievethebalanceofthethree,companiesexpresssystemwasrealizedusingthereasonablemechanism.Practiceshowsthatinthispaper,wedescribethedesignandimplementationofthemethodisreasonableandfeasible.
【Keywords】BusinessExpressMailSystems;Java;Swing;MySQLDatabase
1绪论
随着互联网的迅速发展,短信和E-mail已经成为人与人之间沟通的桥梁,越来越多的人喜欢选择通过网络进行即时沟通。
为此,越来越多的网站开始提供发送E-mail以及收发手机短信的功能,于此同时,短信和E-mail也以其快捷、无时空限制、低成本等优势受到众多企业的青睐,成为企业移动商务的主流应用方式。
1.1企业快信概述
目前,网络正以一种前所未有的冲击力在影响着人们的生活,不仅包括人们的日常生活,还包括生产。
网络的诞生和发展,颠覆了传统的信息传播方式,冲破了存在于传统交流方式中时间和空间的种种壁垒,极大的改变了人类的通信方式。
在Internet飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道。
然而,不仅网络在迅速的发展,手机的市场所占的比重也越来越大,特别是随着手机短信的广泛使用,手机短信业务带来了巨大经济效益,并且短信的用途也越来越广泛。
而短信服务市场的火爆,让许多人始料未及,预示着短信的巨大市场空间。
短信(ShortMessageService,SMS)是手机通过移动网进行个人简易数据通信的一种方式,具有覆盖范围广、双向寻呼、使用经济、可缓存处理等优点,满足了人们爆炸性增长的信息需求,使人们可以以低廉的价格、便捷的方式,随时随地得到充满个性化的信息,是无限通信在20世纪末所做的一次重要飞跃。
这使得移动网络不仅可以传送音频,也可以传送数据,而数据传输是互联网技术的根本。
在国外,短信业务占移动运营商收入的很大比例。
国内移动通信在保持较高增长速度的同时,数据业务正在成为运营商的重要收入来源,几大电信公司不约而同地把目光盯住了手机短信。
而是什么导致了这样的现象?
大家都了解,现在绝大多数的企业通知不是以邮件群发就是短信群发,这样的情况不只是在企业内部,企业与企业间也存在。
因此,如何最大程度的利用现有网络,挖掘网络潜力,方便灵活的开展增值业务,拓展网络应用服务领域,满足企业的沟通需求成为各企业所考虑的事件之一。
毕竟,在企业信息化的今天,效率决定成败。
企业内外部沟通的及时性将直接影响企业的运作效率。
现在多数企业的办公自动化系统(即OA)的信息传递仅限于计算机内部网络,如果用户不在线,将无法知道是否有新的工作或紧急通知,为了确认是否有待办工作,不得不经常去访问OA,检索是否有新任务,而事实上这种检索的结果经常是徒劳。
这样一来,不仅造成了机器资源的浪费,也造成了人力资源的浪费,因此急需一套成型的企业快信系统解决上述问题
因此,短信和E-mail以其快捷、无时空限制、低成本等优势受到众多企业的亲睐,成为企业移动商务的主流应用方式。
于是采用时下受欢迎的语言Java和相关开发工具,将B/S和C/S相结合[1],开发企业快信系统。
1.2本论文工作
企业快信的作用是帮助企业解决企业内部、企业与外部沟通难、信息不能及时传播等问题。
为此,企业快信系统需要提供有邮件群发、短信群发等功能。
在探讨Java相关开发技术,以及短信猫的基础上,以客观需要为基准而开发企业快信系统。
开发工程中所做的工作包括:
整个系统的需求分析、系统设计和所有模块的具体实现、系统测试[2]及用户手册。
2相关原理与技术
2.1系统的基本技术及原理
2.1.1系统的基本技术
本系统所采用的编程语言为Java,编程的方法是Swing[3]。
Swing是一个为Java设计的GUI工具包。
Swing是Java基础的一部分。
Swing包括了图形用户界面(GraphicalUserInterface,GUI)。
同时也使用了短信猫,短信猫又名GSMModem,专门针对短信语言设计,内含工业级短信发送模块,简化了通信接口,性能稳定可靠。
另外还使用了JavaMail组件。
JavaMail是Sun公司发布用来处理E-mail的API,是一种可选的、用于读取、编写和发送电子消息的包。
2.1.2系统的基本原理
Swing是基于Java的跨平台MVC框架,使用的是单线程模式。
此框架还在代码结构层和图形渲染层之间插入了一个抽象层。
其具有可定制性和可配置性。
可定制性
Swing提供了可编程渲染模型,使用户可以对渲染细节进行控制。
一般看来,Swing组件的视觉效果是一些通用元素的组合,比如外框、边距、窗口装饰等。
典型的情况是,用户通过编写代码,指定边框、颜色、背景、透明度等属性来定制一种通用Swing组件(如JTable)。
核心组件则会用这些定制的属性来进行绘制。
此外,也完全可以指定出非常特殊的GUI控件或高度自定义的视觉效果。
可配置性
Swing高度基于运行时的机制以及其间接的组合模式使得它可以在运行时响应对其底层设置的改变。
例如,一个Swing的应用程序能在运行时动态地改变界面。
此外,用户还能随时应用他们自己的LookAndFeel。
LookAndFeel能够统一地改变当前程序的组件外观,而不用修改任何代码。
同抽象窗口工具包(AbstractWindowingToolkit,AWT)[2]的关系
Java的早期版本以来,抽象视窗工具包为用户界面组件提供了平台独立的API。
在AWT中,每个组件都由一个原生的等同组件生产和控制,这个原生组件是由当前的图形视窗系统决定的。
于此相对,Swing组件经常被描述为轻量级的,因为它们不需要操作系统本身所带视窗工具包的原生资源来形成。
SwingAPI的大部分是AWT的补充扩展而不是直接代替。
Swing用来绘制轻量级组件的核心渲染功能是由Java2D提供的,这是AWT的一部分。
然而,轻量级和重量级组件在同一个应用中使用会导致Z-order不兼容。
同SWT的关系[3]
标准器件工具包(StandardWidgetToolkit,SWT)是一个最初由IBM开发的工具包,现在由Eclipse基金会维护。
SWT的实现同重量级的组件AWT有更多的共同之处。
这样的好处是运行开销同所在平台的原生视窗工具包更为接近。
SWT的到来使得Java桌面的开发者们分离为SWT的支持者和Swing的支持者。
在6.0版Java中,Swing的新修补专注于同原生视窗平台的逼真度,这可能会直接解决这个问题。
2.2系统运行环境配置
2.2.1Eclipse的安装配置
Eclipse的安装需准备的工具[3]:
jdk:
jdk-1_6_0_05-windows-i586-p.exe
eclipse:
eclipse-SDK-3.1.2-win32.zip
tomcat:
jakarta-tomcat-6.0.33.exe
tomcat插件:
tomcatPluginV31.zip
一、eclipse的安装
将eclipse解压缩到目的文件夹,然后可以启动eclipse.exe。
二、jdk的安装
jdk的安装只需要根据提示安装就可以了。
中途你可以选择自己喜欢的安装路径,安装之后,会有一个jdk1.5.0_05和一个jre1.5.0_05文件夹。
然后开始设置环境变量,右键我的电脑→属性→高级→环境变量。
在这里你可以选在在系统变量中添加,这样这台机器上的所有用户都可以使用这个环境变量。
添加CLASSPATH:
.;D:
\Library\Jdk\lib\tools.jar;D:
\Library\Jdk\lib\dt.jar(注意,在最前面有一个“.”,不要忘记了)。
添加JAVA_HOME:
D:
\Library\Jdk\lib。
三、tomcat的安装
按照安装提示进行安装就可以了,中途可以选择端口(默认是8080,你可以改成80),这样在以后输入地址的时候比较方便。
但是80端口比较容易发生冲突。
所以这里就不用改了(安装之后在配置文件中也可以重新设置端口号,请查阅相关资料)。
在环境变量中添加:
CATALINA_HOME:
D:
\apache-tomcat-6.0.33,TOMCAT_HOME:
D:
\apache-tomcat-6.0.33。
在CLASSPATH中添加:
D:
\apache-tomcat-6.0.33\common\lib\servlet-api.jar
在所有这一切做完之后,打开你的浏览器,输入http:
//localhost:
8080就会看到apache页面。
四、tomcat插件的安装
关闭eclipse,将tomcatPluginV31.zip解压缩,将解压缩的到的文件夹com.sysdeo.eclipse.tomcat_3.1.0拷贝到D:
\Library\eclipse\plugins里面。
重新打开eclipse,然后在window--prefereces中的左侧找到java--InstalledJREs,选中jdk1.5.0_05。
然后在左侧找到tomcat,选择6.x版本,在tomcat根目录中,输入TOMCAT_HOME中的地址:
D:
\apache-tomcat-6.0.33。
在tomcat-advanced中,在tomcatbase路径一栏中,同样输入D:
\apache-tomcat-6.0.33。
2.2.2短信猫及JavaMail开发环境的建立
由于本系统中需要使用短信猫及JavaMail组件[4],以下介绍如何配置短信猫及JavaMail的开发坏境。
建立短信猫的开发环境:
在使用短信猫时,首先要将短信猫安装到使用的计算机上,并接通电源,然后将短信猫提供的通信动态库BestMail.dll复制到JDK安装路径下的jre\bin文件夹下(例如C:
\jdk1.6.0_03\jre\bin),最后将封装的Java类库BestMail.jar添加到工程的构建路径中。
建立JavaMail的开发环境:
由于目前JavaMail还没有被加在标准的Java开发工具中,所以在使用前必须下载JavaMailAPI,以及Sun公司的JAP(JavaBeansActivationFramework),JavaMail的运行必须信赖与JAF的支持。
下载并构建JavaMailAPI:
JavaMailAPI是发送和接收E-mail的核心API,可以到网址
C:
\JavaMail\mail.jar;
如果不想更改环境变量,也可以把mail.jar添加到工程的构建路径中。
下载并构建JAF:
目前JavaMailAPI的所有版本都需要JAF(JavaBeansActivationFramework)的支持。
JAF为输入的任意数据块提供了支持,并能相应地对其进行处理。
JAF可以到
C:
\JavaMail\ctivation.jar;
如果不想改变环境变量,也可以把activation.jar添加到工程的构建路径中。
2.2.3数据库MySQL的安装
Java开发的web网站能够支持市面上的大多数数据库[5],如MySQL、Access、SQLServer、Oracle,DB2等,而MySQL数据库是Java程序开发人员公认的黄金时间搭档,这不仅因为MySQL是完全网络化的跨平台关系型数据库系统,也是具有B/S体系结构的分布式数据库管理系统。
使用mysql-5.0.19-win32版本,MySQL的安装:
解压“mysql-5.0.19-win32.zip”,
双击“Setup.exe”,开始MySQL的安装。
安装过程注意事项:
MySQL的端口(默认:
3306);MySQL字符集的设置,在字符集选择时选择“utf-8”;使用默认用户名“root”,密码可随意进行设置。
3系统的设计与实现
3.1系统分析
3.1.1用户需求分析
根据需求调查,将企业快信分为名片夹管理、信息库管理、邮件群发、系统参数设置、系统设置6个部分,其中各个部分及其包括的具体功能模块如图3-1所示。
图3-1系统功能结构
企业快信的系统流程图如图3-2所示。
图3-2系统流程图
3.1.2可行性分析
开发任何一个基于计算机的系统,都会受到时间和资源上的限制。
因此,在接受任何一个项目开发任务之前,必须根据客户可能提供的时间和资源条件进行可行性分析,以减少项目开发风险,避免人力、物力和财力的浪费。
可行性分析与风险分析在很多方面是相互关联的,项目风险越大,开发高质量的软件的可行性就越小。
(1)经济可行性
采用短信作为企业的移动通信手段,将给企业对内、对外进行信息传递与沟通带来革命性的变化,从而使得移动办公、客户服务、员工沟通等运作效率显著提升,而成本则显著下降。
值得说明的是,虽然短信有以上优点,但它还是有一定的不足,例如信息内容单一和受到字数限制等。
为解决这一问题,在企业快信中提供了邮件群发功能。
提供邮件进行沟通也是目前比较流行的方式,它也具备实用、方便和廉价等优点。
(2)技术可行性
开发一个企业快信系统,涉及到的技术问题不会太多,主要用到的技术就是使用短信猫和JavaMail组件来实现收发短信和群发邮件等功能。
由于采用北京人大金仓信息技术有限公司开发的短信猫,并且该公司也提供了相应的应用程序开发包,所以为程序的开发提供了便利的条件。
同时,JavaMail组件是Sun公司发布的一种用于读取、编写和发送电子邮件的包,利用它可以方便地实现邮件群发。
3.1.3系统目标
根据前面所做的需求分析及用户的需求可知,企业快信属于小型的企业通信软件,在系统实施后,将达到以下目标:
界面设计友好、美观。
操作灵活、方便
提供功能强大的信息库管理,方便用户进行短消息的编写。
提供邮件群发功能,提高工作效率。
在发短信时可以直接从现有信息库中获取信息内容。
对用户输入的数据,进行严格的数据检验,尽可能地避免人为错误。
数据存储安全、可靠。
3.2数据库设计与实现
3.2.1数据库分析
由于本系统是一个小型实用的信息群发系统,提供了名片夹和信息库的功能,用户可以将常用的人员保存到名片夹中,将常用的短语保存到信息库中,以方便使用。
基于这个特点以及语言特点,本系统将采用MySQL作为底层数据库,以方便用户使用本系统。
据分析,本系统中使用的数据库实体为类型实体、档案实体和常用短语实体三部分。
档案实体包括编号、类型、姓名、性别、出生日期、公司、部门、职位、移动电话和E-mail,档案实体的E-R图如3-3所示。
图3-3档案实体E-R图
常用短语实体包括编号、类型和内容,常用短语实体的E-R图如图3-4所示
图3-4常用短语实体E-R图
类型实体包括编号、名称和使用者(即用于档案实体还是用于常用短语实体),类型实体的E-R图如图3-5所示。
图3-5类型实体E-R图
3.2.2数据库中表的设计
档案实体、常用语实体和类型实体这些实体对象是数据表结构的基本模型[6],最终的数据模型都要实施到数据库中,形成整体的数据结构。
表tb_personnel的表结构如表3.1所示。
表3.1表tb_personnel的表结构
序号
列名
类型
允许空
主键
外键
1
Num
int
否
是
2
type_id
int
否
是
3
Name
varchar(8)
否
4
Sex
vhar
(2)
否
5
Birthday
date
否
6
Company
varchar(50)
否
7
Dept
varchar(40)
否
8
Duty
varchar(50)
否
9
Handest
varchar(15)
否
10
varchar(45)
否
表tb_info的表结构如表3.2所示。
表3.2表tb_info的表结构
序号
列名
类型
允许空
主键
外键
1
num
int
否
是
2
type_id
int
否
是
3
name
varchar(500)
否
表tb_type的表结构如表3.3所示。
表3.3表tb_type的表结构
序号
列名
类型
允许空
主键
外键
1
Id
int
否
是
2
Name
varchar(20)
否
3
User
char(4)
否
完成数据建模后,还可以根据实际需要,建立一些视图,通过对视图的应用,可以减少程序编写中SQL语句[5]。
通过视图可以直接根据类型查询档案或信息,将给系统带来很大的方便。
表tb_personnel和表tb_type建立的视图v_personnel_type的结构如表3.4所示。
表3.4视图v_personnel_type的结构
序号
列名
所属表
1
Num
tb_personnel
2
type_name
tb_personnel
3
Name
tb_type
4
Sex
tb_personnel
5
Birthday
tb_personnel
6
Company
tb_personnel
7
Dept
tb_personnel
8
Duty
tb_personnel
9
Handset
tb_personnel
10
tb_personnel
表tb_info和表tb_type建立的视图v_info_type的结构如表3.5所示
表3.5视图v_info_type的结构
序号
列名
所属表
1
Num
tb_info
2
type_name
tb_type
3
Name
tb_info
3.2.3数据库连接与封装
(1)编写数据库连接类
数据库连接类[7]负责加载数据库驱动程序,以及创建和关闭数据库连接。
为了最大程度地应用每个以及创建的数据库连接,将其保存到ThreadLocal类的对象中。
如果数据库不存在,还负责建立数据库。
然后编写用来加载数据库驱动程序的代码,并且判断数据库文件是否已经存在,如何不存在,还要创建数据库。
通常情况下将其放到静态代码中,这样做的好处是只在该类第一次被加载(即第一次被调用)时执行加载数据
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Swing 企业 快信 系统 设计 实现