J2ME 邮件修改

更新时间:2023-12-17 23:25:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

摘 要

随着无线通信行业的迅速发展,硬件技术和无线通信网络GPRS和CDMA 1X

的日趋成熟,手机的广泛应用,以及彩屏手机的普及,越来越多的人用手机来获取信息。通信公司2.5G和3G通信技术的发展,给手机用户带来了高达384KB/s的移动宽带,将语音、图像、视频有序的结合起来,给手机用户带来了更加丰富多彩的多媒体娱乐和商务服务,借此东风,各大公司都把销售平台往手机上移植。 手机邮件系统是在GPRS环境下,基于客户机/服务器应用方式,实现对邮件系统的管理。

本文从分析工程项目的可行性出发,结合现代化无线网络开发的基本要求,采用基于J2ME的开发技术,利用TOMCAT和Servlet技术设计了一个简单的邮件系统。Tomcat是Sun公司推荐的jsp和servlet的容器,其本身又具有服务器的功能。Servlet是Sun推出的一种动态网页的解决方案,它是基于java编程语言的web服务器端的编程技术,主要是在web服务器端获得客户端的访问请求信息和动态生成对客户端的响应信息。

论文首先从需求分析和概要设计对课题进行总体的设计,介绍了手机邮件的基本流程和主要功能。其次在编码的一章中对程序中用的关键技术的源代码进行了列举和说明。 最后介绍了系统的性能测试与相关运行结果。

关键词:J2ME,手机邮件,Servlet技术

Abstract

With the rapid development of the wireless communications industry, the hardware technology and wireless communication network GPRS and CDMA 1X increasingly mature, widely used inmobile phones and the popularity of color mobile phones, more and more people using phones to access information.Communication 2.5G and 3G communication technologydevelopment, to mobile phone users, up to 384KB / s mobile broadband, voice, image, video and orderly combination of mobilephone users a richer multimedia entertainment and business services, take the wind, major companies regard the sales platform to the mobile phone transplantation.

Phone mail system in a GPRS environment, based on client /server applications, the way the mail system management.

From the analysis of the feasibility of the project, combined withthe basic requirements of modern wireless network development,J2ME-based development techniques, the use of TOMCAT andServlet technology to design a simple mail system. Jsp and servletcontainer, Tomcat is the Sun's recommended its own serverfunctionality. Servlet is the Sun's launch of a dynamic web solution, which is based on the java programming language, web server-side programming techniques, client access to the requestedinformation in the web server-side and dynamically generated onthe client's response.

Firstly, the overall design from the needs analysis and outline design of the subject, describes the basic processes andfunctions of the mobile e-mail. Followed by the program using the source code of the key technologies in the coding of a chapter to enumerate and description. Finally, the system performance test and operating results. Keywords: J2ME, Mobile e-mail, Servlet technology

1.绪论

1.1 选题的依据及意义

近年来,以Internet 和Word Wide Web 为开发平台的各种技术取得了突飞猛进的发展。由于在Internet上进行信息传递和交换具有方便、快捷、廉价的优点,在人们日常的生活中,邮件已经成为一种必不可少的一项工具,在这样的情况下,人们不可能一直把电脑带着身边,所以不能及时的收发邮件,这样就给用户造成损失。在手机不断发展的今天,用手机来管理邮件时非常必要的。这样可

以使人们随时随地的接受和发生邮件。

随着移动3G网络的普及甚至4G网络的演进,网络所支持的移动数据速率的快速提升,移动邮件在人们的生活中变得越来越重要。在引进各种创新的移动邮件服务平台以后,移动邮件业务飞速增长。一些面向移动邮件领域发展的趋势日益明显,移动邮件已成为网络经济新的利润增长点,必将成为未来电子商务发展的主要方向。

随着移动网络的不断发展,移动上网速度变得越来越快,人们通过手机可以实时的收发邮件,这样就形成了一个很大的市场。由于手机的局限性,如果使用手机来处理较为复杂的问题是不现实的,一般的应用都是在手机上开发个客户端,而业务的处理都是在服务器端进行处理。邮件作为一种特殊的交流工具,在现在是的生活中,人们已经离不开这样的工具了,实时收发信息对人们的生活和工作都有较深的影响。

综上所述,设计与实现基于J2ME的小型移动邮件系统在当前移动平台快速发展的形势下具有重要的现实意义。

1.2 国内外研究现状及发展趋势

由于历史的原因,信息革命是在西方国家开始的,所以在移动商务方面,西方发展的非常迅速。特别是超级大国美国,在美国,移动商务宪政无处不在,随着硬件和网速的影响,手机处理的业务变得越来越复杂和多样。在基于传统的功能上又加入了很多流行的应用,所以这个市场发展潜力是非常大的。根据世界知名咨询公司艾瑞咨询整理研究数据发现,2011年美国移动电子商务零售市场规模达到67亿美元,相比2010年增长率高达91.4%,强劲的增长势头预计将一直持续到2015年,移动电子商务市场销售额将达到310亿美元。 艾瑞分析认为,美国移动电子商务市场规模的快速增长得益于智能手机的发展,越来越多的智能手机用户逐渐习惯网络零售商提供的移动站点和APP带来的移动购物体验。主要原因在于,首先,随着智能手机的广泛应用,用户开始更多借助智能手机上网,增强了对移动购物的兴趣和实践;其次,由于智能手机的便携性特点更方便用户在某些领域购物,例如限时抢购、票务等服务;最后,网络零售商为了更好的提高用户购物体验,不断增强移动渠道,如推出移动页面和APP,这些因素进一步刺激

了美国移动电子商务的发展。

移动电子商务是一个新的产业,同时也是一个新的经济潮流。这个新的经济在很多人看来似乎很陌生,其实不然,从短讯的产生到浏览器的发展以致到现在的3G技术、智能移动终端、数据库发展、身份认证及信息处理等技术的发展,无论是通讯效果和其安全性都得到全面的提升。是社会现代化高速发展的见证。 在目前的经济市场上,它已经逐步成为一种主潮流。举个例子来说明,手机电子支付,不知道对此是否熟悉?在移动的业务中目前已经在湖北已经推出手机付费充值业务,这就是手机支付的一点。同时在各大媒体上有关于手机跟银行业务整合的活动,那也是移动电子商务的一种。所以我们一般将移动电子商务定义为通过手机,电脑等移动设备与因特网业务的整合实现娱乐,消费,购物等为一体的B2B、B2C或C2C电子商务销售体系,例如,购物、买票、无线医疗等。当然,现在使用的范围还是比较少的,所以移动电子商务的发展前景十分可观。

1.3 本课题研究方案

本课题是基于J2me的手机邮件系统,本系统主要分为两个部分,一个是服务器端,主要用的是jsp+servlet技术,服务器用的是tomcat。客户端采用的是用j2me技术制作的客户端。在此平台上,用户可以对自己的资料进行设置,可以编写信息。有收件箱和发件箱等功能。

硬件平台:

? CPU:Core2 2.2GHz ? 内存:256MB以上 ? 硬盘:500MB以上空间 ? 显卡:32MB以上显存 软件平台:

? 操作系统:Windows2000以上系统

? 开发语言包:JDK Version 1.6.0、J2ME2.2 ? IDE开发工具:MyEclipse 7.0 、J2ME插件 ? 服务器:Tomcat 6.0 规范特性

? J2ME语言规范[2]

由于手机的内存和处理器等方面的性能不能和PC相提并论,因此J2ME并没有支持全部的的Java语言特性。主要有以下几点:

1) 不支持浮点运算。由于大多数的目标设备在硬件上都不支持浮点

运算,所以CLDC1.0并不支持浮点运算,而CLDC1.1支持浮点运算。

2) 不支持finalization,也不提供Object.finalize()方法。 3) 简单的错误处理能力。错误处理只提供了java.lang.Error、

java.lang.OutofMemoryError和

java.lang.VirtualMechineError几种错误类。 ? J2ME的虚拟机规范

1) 不支持用户自定义的类装载器 2) 不支持反射机制 3) 不支持Java本地接口 4) 不支持线程组与守护进程

5) CLDC的虚拟机采用了新的类文件校验机制 ? 通用连接框架

J2ME中CLDC使用全新的网络连接机制,主要有以下两点原因。 1) J2SE定义的网络连接类有200多千字节,这些对于移动设备来

说过去庞大。

2) J2SE的网络连接类默认TCP/IP协议是可用的,但是很多设备并

不支持TCP/IP协议,只支持HTTP协议。 HTTP连接(本课题就是使用的这种连接)[3]。

HttpConnection http=(HttpConnection)Connector.open(“http://”);

1.4 本章小结

在本章中,首先介绍了研究此命题的意义,又对此命题进行了国内外的情况分析。最后介绍了此项目要研究的内容和方案,为后续的设计奠定基础。

2 技术介绍

2.1 J2ME简介

J2ME的全称是Java 2 Platform Micro Edition,即Java2平台微型版。J2ME平台为嵌入式消费类电子产品,如移动电话、PDA、电视机机顶盒等提供了一个通用的开发平台[2]。

Java技术是一系列产品的集合,目前主要包括Java2平台标准版(Java2 platform Standard Edition,J2SE)、Java2平台企业版(Java2 platform Enterprise Edition,J2EE)、Java2平台微型版和Java卡平台。Java技术体系机构如图所示[2]:

图2-1 JAVA技术的体系机构

J2SE为基于桌面电脑的应用程序开发提供了完备的开发环境,同时为J2EE平台和Java Web服务提供了基础。在J2SE平台中包括了两个主要产品:JRE(J2SE Runtime Environment)和JDK(J2SE Development Kit)。JRE提供了运行Applet和Java应用程序所需要的JavaApi、虚拟机和其他重要组件。JDK是JRE的超集,包括JRE的全部内容,并且给开发者提供开发Applet和Java应用程序的工具。

J2EE为开发基于组件的多层用用程序提供了标准。J2EE平台通过提供标准化、模块化的组件来简化企业级应用程序的开发。J2SE的很多优秀特性,如JDBC、XML解析、CORBA,都是在J2EE平台上得到了广泛的应用。J2EE提供了丰富的组件,如web层的Jsp/servlet,逻辑层的Enterprise JavaBean等。

J2ME为运行在嵌入式消费电子产品的设备,如移动电话,PDA、游戏终

端之上的应用程序提供了一个健壮的,灵活的环境。J2ME同样包含一个小型的虚拟机和一系列的Java API。同时,它还提供了灵活的图形用户界面、健壮的安全模型、广泛的互联网协议支持,前景非常看好。

J2ME平台由多种配置(Configuration)、简表(Profile)和可选包(Optional Package)组成。平台的实现者和应用程序的开发者可以从中选择并组合出一个完整的Java运行环境来满足特定范围内的设备需求。J2ME平台的体系机构如下图:

图2-2 J2ME平台的体系结构

目前,J2ME平台的主要包括两个配置[2]:CLDC和CDC。

CLDC是两个配置中比较小的一个,为具有间断性联网能力、较慢的处理器和有限内存的设备设计的。这些设备包括移动电话、双工呼叫器和入门级的PDA,他们通常有16位或32位的CPU、128KB-512KB可用于Java平台实现和相关应用程序的内存。

CDC是为处理能力较强、内存空间更大、联网能力更出色的设备设计的。这些设备包括电视机顶盒、车载娱乐系统、高端PDA等。CDC包含一个具有完备特性的Java虚拟机,比CLDC更大的J2SE平台的子集。CDC的目标设备通常具有32位或者64位的处理器,2MB以上的可用于Java平台实现和相关应用程序的内存空间。

CLDC1.0规范推出之时并没有引起业界的广泛关注,因为你很难基于CLDC开发出有用的应用程序。Sun随后发布了MIDP1.0规范,整个移动开发社区为之震动,因为MIDP为开发者提供了应用程序模型、用户界面、持久性数据存储等高层的API,这使得为移动终端设备开发可视化应用程序成为可能。主要包括以下几个简表:移动信息设备简表(MIDP)、信息模块简表

(Information Module Profile ,IMP)、基础简表(Foundation Profile ,FP)各人简表(Personal Profile ,PP)、个人基础简表(Personal Basic Profile ,PBP)。

2.2 jsp技术

本系统的服务器端主要是使用了jsp技术,JSP全称是Java Server Pages,也是SUN推出一种动态网页的技术标准。它是在传统的静态页面文件(*.html,*.htm)的时候中加入JAVA程序片段以及JSP标记,也就构成了JSP页面。JSP是一种简单的文本文件,它是由HTML和XML的内容连同JSP元素一起组成的,当客户请求WEB服务的一个JSP页面,而该页面以前并未运行过时,首先将该页面传递给一个JSP引擎,该JSP引擎将页面编译成一个SERVLET并返回给客户 编译成SERVLET后,该SERVLET驻留在服务器的内存中,当对该页面的请求到达后,服务器首先检查该JSP文件时候有变化,如果没有变化,则将使用驻留在内存中的SERVERLET生成对客户的响应 JSP具有以下这些优点:

可以将业务层与表示层进行分离:这里使用JSP技术,相关的开发人员可充分利用HTML来进行页面设计显示部分内容(如字体颜色等),同时使用JSP指令或JAVA程序片段来进行生成网页上的动态内容;

可跨平台:JSP能支持绝大部分平台,也包括当今非常流行的linux系统, 还有应用非常广泛的Apache服务器也可以提供支持JSP的服务; 组件开发和使用都很方便:如ASP组件是由C++,VB等语言组合开发的, 并且需要注册才可以使用;而JSP的组件是则是用Java开发的,是可以直接使用;

一次编写,处处皆可运行:作为基于JAVA开发平台的一部分,JSP它具有JAVA的本身所有优点,同时还包括Write once , Run everywhere.

将内容的生成和显示进行分离 在JSP中可以使用组件(JavaBean)

采用标识简化页面开发(jstl,struts tags)

JSP的内置脚本语言是基于JAVA编程语言的,而且所有的JSP页面都被编译成为JAVA SERVLET,JSP页面具有JAVA语言的所有好处,包括健壮的存储管理和安全性.

JSP中一共定义了三种元素

1. 指令元素 include(page,include,taglib) 2. 脚本元素 3. 动作元素 1, 指令元素 a. page 指令

<%@ page contentType=\ 其它如 language=\ extends=\

import

autoflush isthredSafe info errorpage isErrorpage

b. include指令

include txt html or jsp file c. Taglib

将在JSP中使用的某些标记 2. 脚本元素

也就是JSP脚本 JSP内置对象

a, application b. config c. exception d. out e. page f. pagecontext g. request h. response i. session 3. 动作元素

session

buffer

图2-3 jsp操作原理图

此图详细的说明了jsp是如何运行的,终端通过网络连接到jsp的服务器上,在服务器端执行代码,和数据库进行操作,再通过网络返回给用户。

2.3 Tomcat应用服务器

目前JSP的应用服务器还是很多的,Tomcat是其中较为流行的一个服务器,基于被Java World杂志的编辑选为了2001年度最具创新力的Java产品,可以见其在业界的地位。Tomcat有几大优势:

1.免费

Sun(虽然现在已被甲骨文收购但我还是喜欢说Sun)免费提供用来开发Java应用程序的一切,你不必付任何的版税。或许你会将信将疑:资本家搞共产了?实际上,Sun在Java上的收益确实不大,远远比不过垄断Java应用服务器技术的IBM和BEA公司,似乎有替别人做嫁衣之嫌。对此,Sun董事长、总裁兼首席执行官Scott McNealy是这样解释的:“Sun并没有用Java赚钱,这就像使用英语不用上税一样,Sun并不

通过Java本身来盈利,而是把Java应用到了业务中。”原来是放长线钓大鱼!

与Java本身相比,Java API更是可贵的免费财富。想使用Socket操作网络?API中有;想连接到SQL数据库?API中有;想给应用程序一个漂亮的用户界面?API中有;想要处理数字图形、播放音乐、解析字符串或者创建数字签名?API中全都有。

最后,Java发展了那么多年,优秀的Java教程、技术网站数不胜数。Bruce Eckel大师的名作Java编程思想(Thinking in java)更是不可不读的佳作,许多狂热爱好者甚至把它当做圣经一样一页一页仔细揣摩。你可到作者的主页http://www.BruceEckel.com免费下载此书的电子版。机械工业出版社也有引进台湾技术作家候捷的中译本,可惜不是免费。

或许你会问,有了那么多优秀的教程,还要你这个Java咖啡馆干什么呢?嗯哼,虽然那些教程和技术文章是如此优秀,但并不适合初学者。Java咖啡馆目的就在于帮助你打好Java技术的基础,掌握Java技术的主要脉络,帮助你迈出进入Java世界的第一步!

2.跨平台

“一次编写,随处运行”,Java系统可以运行在不同的操作系统和硬件上。随着Linux的持续增长以及Mac OSX完全支持Java技术,跨平台的特性变得越来越有分量。

由于Java跨平台,Java API自然也是平台统一的。对程序员而言,没有比统一的API函数能够让他们更欣慰的了——已经有了圆形的轮子,何必再从头发明轮子呢?我们拿Java API与C++的类库相比便可以知道它的可贵之处。有Windows编程经验的C++程序员肯定经历过被MFC(Microsoft Foundation Classes,微软基类库)折磨的日子,学习曲线陡峭,没有若干个月根本无法开始生产,一段时间不接触遗忘率又高。据说,即使在微软公司内部,除了 MFC开发小组,谁都不乐意用它。即便你熟悉了MFC,能够顺利开发Windows应用程序,如果你要编写一个Linux应用程序,MFC又派不上用场了,你必须学习Linux下C++开发的一套库函数。还有UNIX、FreeBSD、Mac OS??你学得过来吗?反观Java API,操作系统,你爱谁是谁,只要编写一次便可随处运行。

2.4 开发模式

随着Internet的迅速发展,我们知道计算机技术也正在朝由基于C/S

(client/ Server)模式的应用系统逐渐转变为了基于B/S模式的应用系统方向迈进。在过去,绝大部分的网络软件的开发都是基于采用C/S(client)模式,而在这种模式下,最最主要的业务逻辑都是集中于客户端程序的,因此,这样的话必然导致以下相关的问题:系统的安装、调试、维护以及升级困难。再就是由于客户端的硬件配置很大程度上也存在差异,软件环能各不相同,因此,很自然的在安装时,必须对每一个在用的客户端分别进行单项的配置,同样的道理,在软件升级时也是要对客户端分别处理的。所以在整个系统中,基于业务逻辑和用户界面也都集中到了客户端这一方,这样的话必然也就会增加了安全隐患。

以下介绍的是B/S模式带来的巨大的好处:

首先是开发成本及维护成本都降低。因为B/S架构管理软件一般情况下都是安装在服务器端(Server)上的,所以这些应用程序在部署、升级、维护的时候,都只要在服务器端统一进行配置就可以的了,这样的话网络管理人员也就只需要在线管理服务器就可以的了,用户界面主要处理事务逻辑在服务器(Server)端上完全通过了WWW浏览器来进行实现,极少部分的事务逻辑在前端(Browser)实现的,这样一来所有的客户端只要用浏览器,网络管理人员则只需要进行硬件维护就可以了。

良好的安全性能优点,防火墙技术它是可以保证后台数据库的业务数据的安全性。我们所关注的所有的配置工作都是集中在服务器端并且是所有客户端的请求都是通过DBMS综合管理之后来访问数据库,这样也就可以大大减少了数据直接暴露的风险了。

三层B/S结构介绍

B/S结构可以说是真正的三层结构,因为它是以访问Web数据库为中心的,依照HTTP为传输协议,客户端它可以通过浏览器(Browser)访问后台Web服务器并和与其相连的后台数据库进行的业务数据的交互,这个也就我们称之为B/S(Browser/Server)模式。它的三级结构组成图如图所示。

客户端

?? Web服务器 后台数据库 客户端

图2-4系统三级结构图

图中可看出从左到右,我们可以分为三个层次:

第一层是最基本的也就是客户端即浏览器,它主要完成的是客户和后台的交互和最终查询结果的业务输出功能的展示。通常情况下在客户端向指定Web服务器提出了服务器请求之后,Web服务器将会依照HTTP协议将所需文件资料实时传给用户,这时客户端就可接受并将返回的信息显示在WWW浏览器上。

第二层也是Web服务器即是功能层,它完成的是客户的相关应用功能,即Web服务器在接受客户请求之后,并且与后台数据库连接之后,开始进行申请处理,进而将处理返回的结果返回给Web服务器,最后传至客户端进行显示访问;

第三层最关键的是数据库服务器即是数据层。因为数据库服务器及时相应了客户请求并且是可以独立进行各种处理的。

当然,与传统的C/S模式相比,我们可以看出B/S结构是可以把处理功能全部有效的移植到了服务器端上,这样用户的请求一旦通过浏览器发出,这时无论是使用还是数据库维护上都是比传统模式可以说是更加经济方便的。而且还可以使维护任务层次化:同时管理员可以负责服务器的硬件日常管理及维护,这样系统维护人员也就能负责后台数据库的数据更新相关的维护操作了。

由以上比较综合分析可知,三层结构我们也可以理解的是它增加的是Web服务器的C/S模式的综合利用。

2.5 设计模式

本系统采用的设计模式是现在比较成熟的MVC设计模式,当服务器端开启服务后,客户端只需要把自己要进行的操作提交到服务器端,服务器端进行运行,在服务器端用MVC模式进行控制,把请求分开,这样就使得程序更加简洁,同时效率更高。

什么是MVC?

Event Controller set Model Clent Browser View update get

图2-5 MVC原理图

MVC是model-view-control即把 一个应用的输入,处理,输出流程按照模型层,视图层,处理层分离,MVC模式是一种面向动态内容的实现,结合了servlet的jsp技术。利用两种技术原有的优点,采用jsp来表现页面,采用servlet来完成大量的处理,Servlet扮演控制者的角色,并负责响应客户请求,根据用户的行为,决定将那个jsp发送给客户。

模型(model):java类。即java Beans。用于业务流程/状态的处理以及业务规则的制定。模型接受视图请求的数据,并返回最终处理结果。是MVC最核心的模块。

视图(view):用jsp技术。代表用户交互界面,一个应用可能有很多个不同的视图。MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理,业务流程的处理交给模型处理。

控制器(control):Servlet技术。从用户接受请求,将模型与视图匹配在一起,共同完成用户的请求。控制层的作用就相当于一个连接模型与视图的桥梁。它接受视图端的客户信息还有客户请求,将这些信息传递给模型,告诉模型该做什么,并将符合要求的视图返回给客户。自己并不请求业务信息。 如下图:MVC原理图,很清楚的列出来了各个模块的功能。

图2-6 MVC原理图

2.6本章小结

本章从本课题系统采用的技术入手,讲述了相关的J2ME技术原理、MVC设计模式、JSP语言、Tomcat应用服务器、B/S开发框架等技术的各自的优点,从而将这些技术有效的结合到本系统中来。

3 系统分析

3.1 可行性分析

可行性分析是任何一项系统研究投入力量之前必须进行的一项工作,这对于保证资源的合理使用、避免浪费是十分必要的。经过系统目标的研究及详细的市场调查总结出以下可行性分析:

3.1.1 经济可行性

系统的经济可行性指的是对组织的经济状况和投资能力进行分析,对系统建设、运行和维护费用进行估算,对系统建成后可能取得的社会及经济效益进行估计。因为通过手机邮件系统不受距离的限制,开发资金少.

3.1.2 技术可行性

该系统所需的硬件设备,如服务器、PC机、打印机以及网络配件等,这些设备在性能有保证,价格又相对不高,能满足系统功能要求。

软件上操作系统采用Windows XP,开发使用JSP作为开发语言,采用Servlet技术,Tomcat5.0作为Web服务器。这些软件在大型MIS开发中已经被大量应用,技术上很成熟。

网络体系结构基本定位于局域网(Windows NT)环境下的B/S结构。这种模式具有如下优势:

(1)使服务器端数据处理负荷减轻。

(2)该结构的系统容易扩充、灵活性和可扩展性好。 所以技术上是可行的。

随着网络技术与信息技术的发展,因特网迅速成长,因特网与企业管理的结合创造了新的企业管理模式,使企业管理由传统人工模式转向企业信息化管理模式,信息化管理模式能够大大提高企业的办事效力,节约成本。

3.1.3 解决的问题

根据以上的分析,本系统要解决的问题是建立一个手机邮件管理平台平台,让人们可以在这个平台上进行邮件管理和接收发送。那么,此系统研究的对象就是怎么样去建立这样的一个系统。

3.2 系统功能简介

本系统主要分为客户端和服务器端,在客户端用户可以输入用户名和密码登陆到系统,在手机客户端实现的功能和通过web登陆到系统的功能是一样的,可以查看邮件,有发件箱,收件箱和写邮件功能。但是由于手机收到硬件因素的影响,在显示图片上和排版上和在web端有很大的差距,所以手机客户端应该有以下几个功能:

1) 简单、友好的用户界面,保证直接上手便可以游戏; 2) 规则简单,方便游戏;

3) 支持Internet的Http通信协议,保证在移动通信中的连接系数;

4) 在服务器端加入算法,方便日后维护;

5) 向PC端开发靠拢,为以后pc与手机互联做好基础。

3.3 项目规划

本课题是一个典型的使用CLDC1.0、MIDP1.0 开发客户端,使用servlet开发服务器的应用程序,以满足移动商务需要为开发原则。

移动邮件主要分客户端和服务器端。客户端主要写邮件,发邮件,收件箱,发件箱,客户管理等组成。 3.3.1 手机客户端 (1) 写信息

在手机中进行信息的录入,当点击发送后,将提交给服务器端,由服务器端进行发送。 (2)发件箱

发送出去的邮件,将被保持到发件箱中。

3.3.2 服务器端

收到客户端提交的信息,首先进行信息的处理,处理完成后登陆的公用的邮件服务器,进行邮件的发送。

收到数据 是

是 否

检查包头 指令包判断 合法指令 非法指令 图3-1 服务器端流程图 执行指令 处理状态连接指令

指令判断 3.4 项目结构

本系统的结构分为两个部分,一个是客户端。具体如下图: 写信息 信息发送 发件箱 收件箱 信息设置 信息发送 信息收集 手机客户端 图3-2 客户端结构图

3.5 本章小结

本章主要介绍了系统分析,任何事情的开始都要进行仔细的分析,这样才能设计出好的系统。在本章中首先提出了现在我们所面临的问题,只要找到问题,才能设计出符合需求的系统。然后确定了系统是否可以实现,并对经济可行性,技术可行性进行了分析和确定。当确定了可以实行后,接着对需求进行了分析,并对主要的功能进行了确定。为实现此系统设计了整体的内容。

4 系统设计

4.1 总体设计

系统分析阶段是根据功能要求,考虑实际条件,具体设计实现逻辑模块的技术方案,是一个系统的设计与实现中不可缺少的部分。系统设计阶段的主要目的是将系统分析阶段所提出的系统逻辑方案转换成可以实施的基于计算机与通信系统的物理方案。

4.2 系统设计思想

4.2.1 系统工程的流程思想

在系统开发过程中,采用软件工程的开发管理,在开发的过程中也遵循软件工程的思想,软件工程的主要环节包括:人员管理、项目管理、可行性与需求分析、系统设计、程序设计、测试、维护等[32],如下图所示。

人员管理项目管理可行性与需求分析系统设计程序设计测试维护 图4-1 软件工程的主要环节

4.2.2 面向对象机制的设计思想

所有计算机均由两种元素组成:代码和数据。程序的编写有两种方式:

第一种编程方式叫做“面向过程的模型” ,就是用代码详细写出问题解决的每一步骤,使用时依次调用就行了,程序的特点以一系列的线性步骤显示。如 C 等过程化语言。

第二种编程方式叫做“面向对象的模型” ,把一个系统作为一个对象,系

统可以由多个部分组成。对象也可以由多个对象组成。对于同类的事物,可以由一个对象来表示。建立对象的目的不是为了完成一步骤,而是为了描述某个事物在整个解决问题的步骤中的行为。程序围绕着程序的数据(对象)和针对该对象而严格定义的接口来组织程序,它的特点是数据控制代码的访问,通过把控制权转移到数据上,面向对象的模型在组织方式上有:抽象、封装、继承和多态的好处。例如C++,Java 等语言。 本系统采用面向对象的编程方式。

4.3 系统具体设计

根据第三章的功能分析,本系统主要分为两个部分,一个是客户端,一个是服务器端。首先在客户端,要实现写邮件,发送箱,收件箱,信息设置,使用帮助等功能。

(1) 信息设置:信息设置主要是指设置本机发件人的账号。在这个功能中,主要是为了设置发送给别人信息时显示的发件人。在设置的时候,主要设置两个信息就可以了,一个是发件人的邮箱地址,这样就可以使别人回复本人。一个是这个邮箱的姓名,在给别人发送邮件的时候,这个姓名将和信息一起发送给收件人。在这个地方设置的信息将被保存在手机上,以便后续的管理。

(2)发件箱:当用户写完邮件发送后,信息将会被保存在收件箱中,保存的主要信息有,收件人,时间,内容。在发送的时候,程序将提取这些信息,保存到手机中,这个保存是J2ME自带的小型数据库文件,把这些信息保存到这个数据库文件中,在后续的查询就可以直接查询,不用再连接服务器端的数据库。

(3)发邮件:在邮件写完后,将进行发送。发送邮件手机是完不成这样的功能的,必须要和服务器结合。在服务器端,写好一个servlet,当写完邮件后,将通过本地服务去请求这个servlet,当请求到这个servlet后,在这个java程序中,首先要接受这个邮件信息,通常这样的信息是被一个字段标示,在客户端,把这写字段付上值,在服务器端接受时提取这些字段的值就可以了。接受完这些信息后,java程序要通过其特有的发送邮件方式进行邮件的发送,首先要在程序中导入javamail.jar包,导入后,通过其内部类,实例化代理邮件服务器,再把得到的信息放到代理服务器中,代理服务器将邮件发送出去。

(4)收件箱:收件箱和发邮件的功能相似,只是是个反向的过程。收件箱

首先要解决的问题就是代理服务器的问题,在09年以前,各大邮箱平台都开发代理邮件服务器,但是到09年以后就不对外开放了。在本系统中,是使用了一个09年前的邮件服务器,通过这个代理服务器,别人发送的邮件,在本系统的服务器端可以用javamail提供的方法进行获取,获取后,将存入到几个固定的字段中,通过web服务,传送给手机客户端,在手机客户端处理后,显示在手机屏幕上。

(5)使用帮助:这个就是个节目,来显示本系统是如何操作的。

4.4 本章小结

本章主要是对系统进行了整体的设计,建立系统逻辑模型,并且勾勒出了数据字典。之后详细介绍了系统设计的思想,包括系统工程的流程思想,面向对象机制的设计思想,还有代码分层的思想。通过对这些思想的分析,进一步确定了本系统的大概结构。

5 系统实现

5.1 客户端实现

客户端的实现主要是用的J2ME技术,运行的主类要继承MIDlet这个类,通过运行这个类,才能使本地代码在模拟器中运行。本系统的主页面如下图所示:

图5-1 客户端主页面

本页面是系统的主页面,在此页面中,有两个按钮,一个是退出按钮,一个是主界面按钮。点击主界面,将进入系统的主界面, 选择主页面后,将出现下面的页面:

图5-2 手机主页面

在页面中,有5个基本的选项,一个是账号设置,写邮件,发件箱,收件箱和使用帮助。账号设置就是设置发送的账号:

点击账号设置的按钮,将出现下面的界面,在此界面中,输入用户名和密码就可以设置特定的账号。

图5-3 信息设置

点击写邮件后,将出现下面的界面。

图5-4 发邮件

添加完信息后,需要填写正文的信息,填写完成后,点击发送,系统将把填写的信息传递给服务器,服务器再打开邮件服务器,将邮件发送。

邮件发送后,将会被保存在手机的存储文件中,在查询的时候将会被调用。

图5-5 收件箱

5.2 服务器端

在服务器端,其实就是个servlet,这个servlet是对应个java类,在这个java类中,对业务进行处理。服务器端代码如下: import java.io.DataInputStream; import java.io.IOException; import java.util.Properties; import javax.mail.Message; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class MailServlet extends HttpServlet { private static final long serialVersionUID = 155108269606572862L; protected void service(HttpServletRequest req, HttpServletResponse rep) DataInputStream dis=new DataInputStream(req.getInputStream()); String send=dis.readUTF(); String subject=dis.readUTF(); String content=dis.readUTF(); try{ Properties props=new Properties(); props.put(\props.put(\ Session session = Session.getDefaultInstance(props); session.setDebug(true); MimeMessage message=new MimeMessage(session); message.setFrom(new InternetAddress(\message.addRecipient(Message.RecipientType.TO,new throws ServletException, IOException { InternetAddress(send)); message.setSubject(subject); message.setText(content+\发送者是\ message.saveChanges(); Transport transport = session.getTransport(\ transport.connect(\ transport.sendMessage(message,

message.getAllRecipients()); }

transport.close(); } } catch(Exception e){ } 5.3 本章总结

在本章中,根据系统分析和系统设计的要求,使系统具体实现了。首先介绍了客户端的实现,然后介绍了服务器端实现的原理和功能。

总 结

经过这近几个月的忙碌和工作,本次毕业设计已经接近尾声了。通过这次毕业设计,使我受到了一次用专业知识、专业技能分析和解决问题的全面系统的锻炼,使我在综合知识的选用方面,在应用软件开发的基本思想、方法方面,以及在常用编程设计思路技巧的掌握方面都能向前迈了一大步。同时,培养了我理论联系实际,综合运用各门知识以及信息检索与利用的能力。通过系统的开发、调试,提高了我们发现问题、分析问题、解决问题的水平;锻炼了实际动手操作能力。在这次的毕业设计中,让我深深地体现到进行软件开发不是一件简单的事情,它需要设计者具有全面的专业知识、缜密的思维、严谨的工作态度以及较高的分析问题、解决问题的能力,而我自我感觉在很多方面还有欠缺,希望在日后的生活和工作中加强锻炼,以全面提高自己的综合素质。

作为我大学学习里的最后一个“作业”,我非常看重自己的毕业设计,希望把它做成我这四年里写得最精妙一个软件,运用到每一个优秀的手机游戏应该用到的所有技术,再用深度遍历的方式,写一篇详细的论文。将这些作为对我四年软件学习的一次总结,也是对大学生活的最后留念。于是我很用心地去学、去查、

去问、去做、去写,这期间我获得了不小的进步,加深了对手机游戏的理解,提高了对图形处理软件和Word的熟练度,我甚至有想过以后从事J2ME这个行业。可惜最终因为时间的问题,我没有做到我希望的那样好。

致 谢

经过这一段忙碌和学习,本次毕业设计已经基本接近尾声。作为一名学生,由于只是学到基础的知识,没有真正地做个项目,所以经验十分的匮乏。本次毕业设计系统有许多考虑不周全的地方,如果没有老师的指点,要完成这样的毕业设计师很困难的。在这里首先要感谢教导我的老师,老师平日工作繁忙,但是在我做毕业设计期间,从、对选题,查阅资料,论文提纲等都进行了详细的教导,

同时,在此期间我还得到了许多同学的帮助,在一起互相帮助,互相提高,我在这里也向帮助我的同学们表示感谢!最后,感谢在百忙之中前来审阅我的论文的老师和参加答辨会的老师和同学。

参考文献(Reference)

[1] Bruce Eckel. Thinking in Java 4. Prentice Hall PTR, 2006.2 [2] 詹建飞. J2ME开发精解[M]. 北京:电子工业出版社,2006 [3] 陈明.计算机网络设计教程(第二版). 清华大学出版社, 2008.1 [4] 荣钦科技. Java2游戏设计 [M]. 北京:清华大学出版社,2004

[5] 耿祥义.Java2实用教程(第三版).清华大学出版社,2006.8

[6] 黄聪明. Java移动通信程序设计--J2ME MIDP[M]. 北京:清华大学出版社,2002

[7] 王晓敏等.信息系统分析与设计.清华大学出版社,2006. [8] 王璞.网页制作三剑客.北京清华大学出版社.2003 [9] 孙鑫.Java Web开发详解.电子工业出版社,2007年.

[10] ArtTaylor.JDBCDatabasePrograming with J2EE.电子工业出版社.2004.4 [11] 刘晓华.JSP 应用开发详解.北京电子工业出版社.2005

[12]《Servlet与JSP核心编程[M]》,[美]Matry Hall,Larry Brown著,赵学良译,清华大学出版社,2004

[13]《精通Struts 基于MVC的Java Web设计与开发[M]》,孙卫琴,电子工业出

版社,2004

[14]《数据库系统概论(第三版)[M]》,萨师煊,王珊,高等教育出版社,2002 [15]《Java开源项目:Spring+Hibernate+Struts项目开发详解》,覃庆炎,清华大学出版社,2008

[16]《SQL技术手册》,[美]克兰(Kline,K.E.),[美]克兰(Kline,D.),[美]汉茨(Hunt,B.),东南大学出版社,2008 [17]《JAVA语言程序设计[M]》,Y.Daniel Liang 著,王镁,李娜 译,机械工业出版社,2002

[18]《JAVA模式[M]》,[美]Mark Grand 著,亢勇,豆庆华 译,电子工业出版社,2004

[19]《Ajax实战.》,Dave Crane,Eric Pascarello,Darren James,人民邮电出版社,2006

[20]《Eclipse开发入门与项目实践[M]》,张桂元,贾燕枫,人民邮电出版社,2006 [21] 刘钊、吴泳锋、朱小冬等.基于Web搜索搭建OWS索引服务中心[J].测绘通报,2008,(4):55-57.

[22] 白玉琪、杨崇俊、刘冬林等.基于OpenGIS WMS的空间信息搜索引擎系统原型[J].中国图象图形学报,2004,9(1):105-111.

[23] 邬群勇、王钦敏、王焕炜.一种Web地图服务搜索器的设计[J].微计算机应用,2009,30(2):35-39.

本文来源:https://www.bwwdw.com/article/1zv5.html

Top