android毕业答辩论文

上传人:仙*** 文档编号:159071154 上传时间:2022-10-08 格式:DOC 页数:68 大小:3.48MB
收藏 版权申诉 举报 下载
android毕业答辩论文_第1页
第1页 / 共68页
android毕业答辩论文_第2页
第2页 / 共68页
android毕业答辩论文_第3页
第3页 / 共68页
资源描述:

《android毕业答辩论文》由会员分享,可在线阅读,更多相关《android毕业答辩论文(68页珍藏版)》请在装配图网上搜索。

1、android毕业答辩论文学 士 学 位 论 文THESIS OF BACHELOR(20072011年)题 目:基于Android平台的商城学 院: 软件学院 系 计算机软件 专 业: 计算机软件 学 号: 姓 名: 指导教师: 起讫日期: 2010年12月至2011年5月 目 录论文总页数:35页1 绪论31.1课题背景31.2相关技术的发展现状41.2.1手机操作系统的发展现状41.3手机操作系统的发展现状52.Android的架构分析6 2.1 Android特征6 2.2 Android架构7 2.2.1关键应用程序7 2.2.2应用程序框架7 2.2.3系统运行库7 2.3Andr

2、oid应用的构成和工作机制82.4 Android与其他手机操作系统的比较92.5本章小结103系统的总体框架10 3.1系统需求分析103.2系统主要功能描述113.2.1客户端登陆注册113.2.2系统主要功能描述123.2.3订单功能133.2.4留言评价功能133.2.5服务器管理功能143.3系统流程153.4系统框架164详细设计与实现174.1详细设计174.1.1详细设计174.1.2后台实现184.2系统实现194.2.1用户首页的实现过程184.2.2用户注册的实现过程184.2.3用户登录的实现过程194.2.4用户搜索的实现过程204.2.5用户浏览的实现过程214.2

3、.6用户购买的实现过程214.2.7数据库连接的实现224.2.8后台的实现235.总结和展望246 Android手机前景317结束语358参考文献35基于ANDROID的小小手机商城 学生姓名 裴震 指导教师 关东升内容提要:随着移动通信与Internet的飞速发展及相互融合,GPRS使无线网络高速接入到Internet成为现实,移动用户从而可以享受到Internet提供的服务。这样,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。本文首先给出了系统研究背景,对当前手机操作系统发展做了简单的介绍。进而详细的分析了android的特征、架构、以及android应用的构成和工作机制,并对

4、android于其他手机操作系统进行了比较,说明了android在手机操作系统中的优势。本系统主要用于对手机上网用户,在线浏览该网站,用户管理员可以对商品信息进行增删改查等功能,用户可以在该网站注册,注册后的用户还可以商品进行购买以及评价。使用该系统很大的提高了用户购买能力。关键词: Android、JSP、eclipse、myeclipse-6.5、tomcat、开源、服务器、移动客户端、手机商城。Summary:With mobile communication and internet the rapid development and integration. GPRS the wir

5、eless network speed internet access to mobile users to become a reality, so we can enjoy the internet service. thus, the mobile terminal not only a communications network terminal, will become the internet terminals. the first to study the background to the current system, mobile operating system de

6、velopment made a brief introduction. then the detailed analyses the characteristics, a schema about the android ,about the android application forms and mechanisms, and on about the android on the other operating system, mobile phone has explained about the android the phone in the operating systems

7、. this system is mainly used for online browsing the internet users of mobile phones, web site, the administrator can be on information to look for functions add and delete, users can, after the registration of users can make purchases of goods and evaluation. use the system is very much improved th

8、e user to buy.Keyword: Android、JSP、eclipse、myeclipse-6.5、tomcat、Open source、 the server、 a mobile client 、mobile phones shopping center.1.绪论1.1课题背景随着移动通信与Internet向移动终端的普及,网络和用户对移动终端的要求越来越高,而Symbian,Windows Mobile,PalmOS等手机平台过于封闭,不能很好的满足用户的需求,因此市场迫切需要一个开发性很强的平台。经过多年的发展,第三代数字通信(3G)技术活动了广泛的接受,它为移动终端用户带

9、来了更快的数据传输速率。随着3G网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。因此,移动终端的应用软件和需要的服务将会有很大的发展空间。Google为此与2007年11月推出了一个专为移动设备设计的软件平台Android。Android 是一套真正意义上的开发性的移动设备综合平台,它包括操作系统、中间件和一些关键的平台应用。Android 是由Linux+Java构成的开源软件,允许所有厂商和个人在其基础上进行开发。Android平台的开放性等特点既能促进技术(包括平台本身)的创新,又有助于降低开发成本,还可以是运营商能非常方便地制定自己的特色化的产品。因此,它具有很大的市

10、场发展潜力。根据中国互联网信息中心(CNNIC)发布的第22次中国互联网络发展状况统计报告显示,截止2008年6月底,我国网民数量达到了2.53亿,首次大幅超过美国,网民规模跃居世界第一位,其中手机网民达到7305万,手机上网成为网络接入的一个重要发展方向。1.2相关技术的发展现状1.2.1手机操作系统的发展现状Palm OS是一套专门为掌上电脑编写的操作系统,是一种轻量级、比较开放的操作系统,占用的内存非常小,允许用户在其基础上编写和修改相关软件,是支持的应用程序更加丰富多彩。Plam 在其它方面也还存在一些不足,如Plam操作系统本身不具备录音、MP3播放功能等,但是可以通过加入第三方软件

11、或硬件设备来实现。其代表性的产品有Palm m505、Palm m500、Palm III等。Symbian是一个实时性、多任务的纯32位操作系统,具有功耗低、内存占用少等特点,非常适合手机等移动设备使用,经过不断完善,可以支持GPRS、蓝牙、SyncML以及3G技术。Windows mobile系列操作系统是从微软计算机的Windows操作系统上变化而来的。Windows mobile系列操作系统功能强大,而且支持该操作系统的智能手机大多数都采用了英特尔嵌入式处理器,主频比较高,在其它硬件设置(如内存、储存卡容量等)上也采用其他操作系统的智能手机要高出许多,因此性能比较强劲,速度比较快。Wi

12、ndows mobile系列操作系统包括SmartPhone以及Pocket PC Phone两种平台。Pocket PC Phone主要用于掌上电脑型的智能手机,而SmartPhone则主要为手上智能手机提供操作系统。Linux系统是一个源代码开放的操作系统。由于其开源性,手机制造商可以根据实际情况开放自己的Linux手机操作系统,从而也能够吸引更多的软件制造商在其上开发更多的应用软件,丰富第三方的应用。但是Linux操作系统也还存在一些不足,集成开放环境和基于Linux的产品与PC的连接性比较差等。1.3论文组织结构本文首先分析了系统的研究背景,介绍了当前手机操作系统、即时通讯软件的发展现

13、状和即时通讯协议,以及本文的主要内容。第二章,介绍了Android的特征、Android的架构以及Android应用的构成和工作机制,并对Android与其它手机操作系统进行了比较,说明了Android的优势。第三章,详细论述了在Android平台上开发小小手机商城系统,提出了系统的主要功能,系统的总体业务描述和架构设计。第四章,介绍了系统的设计特点,着重论述了账户操作的工作流程。第五章,给出本文的结论并对课题进行了进一步的展望。2.Android的架构分析Android是一个移动设备的软件平台,是由Linux+Java构成的开源软件,它提供包括SDK、Key Apps、Middleware、

14、Linux Kernel四个部分在内的全套手机软件方案。它开放了基于Linux内核以上的开发工具,从而保证了内容的可移植性和多样性。Android平台为我们开发应用程序提供了一套很好的框架,我们可以在这个平台的基础上开发不同的应用程序,也可以开发新的组件供应用程序调用。2.1Android特征应用框架:用于开发可重用、可替代的组件。Dalvik虚拟机:Android采用的Java虚拟机是自主开发的代号为Dalvik的虚拟机技术,在保证API方面兼容的同时Dalvik针对移动手机进行了大幅优化,占用资源更小,运行效率更高。内嵌浏览器:基于开源的浏览器网页排版引擎WebKit。优化的图形:强大的自

15、定义二维图形库。基于OpenGL ES 1.0标准的3D图形功能,在移动3D开发中有着至关重要的地位。SQLite数据库:SQLite提供结构化的数据存储。它是一款轻型免费的且开源的数据库,它的设计目标是嵌入式的,它占用的资源非常低、需要的内存空间少、处理速度比较快和支持事务处理功能等。多媒体支持:支持各种通用的音频、视频和静态图像格式,如MP3、JPG、PNG等。Open Core是Android多媒体框架的核心,所有Android平台的音频和视频采集、播放的操作都是通过它来实现的。通过Open Core,程序员可以方便快速的开发出想要的多媒体应用程序。GSM技术:(依赖硬件)Global

16、System for Mobile Communications,全球通讯系统,俗称“全球通”,是第二代移动通信技术,其开发目的是让全球各地可以共同使用一个移动电话网络标准,让用户使用一部手机就能行遍全球。蓝牙,EDGE,3G and WiFi:(依赖硬件)蓝牙和Wi-Fi都是一种短距离的无线连接技术,在短距离内可以实现话音和数据的无线传输。EDGE(Enhanced Data Rate for GSM Evolution),是增强型数据速率GSM演进技术。Cameram,GPS,compass,andaccelerometer:(依赖硬件)GPS(Global Positioning Sys

17、tem),即全球定位系统。它是由一个由覆盖全球的24颗卫星组成的卫星系统。Compass是一个开放源码的Java搜索引擎框架。强大的开发环境:包括一个设备模拟器,调试工具,内存和性能检测,以及Eclipse IDE的开发插件。Eclipse是个集成开放环境。2.2 Android架构Android的架构是由Linux内核、C/C+函数库、Dalvik虚拟机、应用框架以及关键应用程序构成的。通过编译基于框架的应用程序可以降低开发负荷。应用软件原则上是在DalvikVM上运行的。 图2-1Android架构2.2.1.关键应用程序 Android会同一系列核心应用程序包一起发布,该应用程序包包括e

18、mail客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。 2.2.2.应用程序框架开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。隐藏在每个应用后面的是一系列的服务和系统, 其中包括; 丰富而又可扩展的视图(Views),可以用来构建应用程序, 它包括列表(lists),网格(grids),文本框(text boxes),按

19、钮(buttons), 甚至可嵌入的web浏览器。 内容提供器(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库), 或者共享它们自己的数据 资源管理器(Resource Manager)提供 非代码资源的访问,如本地字符串,图形,和布局文件( layout files )。 通知管理器 (Notification Manager) 使得应用程序可以在状态栏中显示自定义的提示信息。 活动管理器( Activity Manager) 用来管理应用程序生命周期并提供常用的导航回退功能。2.2.3.系统运行库2.2.3.1程序库Android 包含一些C/

20、C+库,这些库能被Android系统中不同的组件使用。它们通过 Android 应用程序框架为开发者提供服务。以下是一些核心库: 系统 C 库 - 一个从 BSD 继承来的标准 C 系统函数库( libc ), 它是专门为基于 embedded linux 的设备定制的。 媒体库 - 基于 PacketVideo OpenCORE;该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG 。Surface Manager - 对显示子系统的管理,并且为多个应用程序提 供了2D和3D图层的无缝融合。L

21、ibWebCore - 一个最新的web浏览器引擎用,支持Android浏览器和一个可嵌入的web视图。SGL - 底层的2D图形引擎3D libraries - 基于OpenGL ES 1.0 APIs实现;该库可以使用硬件 3D加速(如果可用)或者使用高度优化的3D软加速。FreeType -位图(bitmap)和矢量(vector)字体显示。SQLite - 一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。 2.2.3.1运行库Android 包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的

22、Dalvik虚拟机实例。Dalvik被设计成一个设备可以同时高效地运行多个虚拟系统。 Dalvik虚拟机执行(.dex)的Dalvik可执行文件,该格式文件针对小内存使用做了优化。同时虚拟机是基于寄存器的,所有的类都经由JAVA编译器编译,然后通过SDK中 的 dx 工具转化成.dex格式由虚拟机执行。Dalvik虚拟机依赖于linux内核的一些功能,比如线程机制和底层内存管理机制。2.2.4.Linux内核Android 的核心系统服务依赖于 Linux 2.6 内核,如安全性、内存管理、进程管理、网络协议和驱动模型。Linux 内核也同时作为硬件和软件栈之间的抽象层。 2.3Android

23、应用的构成和工作机制Android应用程序来说,是由Activity、Intent Receiver、Service、ContentProvider四部分组成,但并不是每一个Android应用程序都必须由这四部分组成。在应用程序中使用时,需要在配置文件Android应用程序中所必需的,用于定义应用程序的组件、组件的功能以及必要条件等。Android应用的构成和工作流程图如下:图2-2Android的构成和工作流程2.4 Android与其他手机操作系统的比较我们主要从手机操作系统的Portablity、Reliability、Connectivity、Product Diversity、Ope

24、n Platform、Kernal Size、Standards、Security和Special Features这九个方面进行了比较,具体的比较结果如下表:对上表比较的九项每一项以1分、0.5分、0分三个级别来进行了评分,综合各项评分,最好得到的评分结果是Android 8.5分、Windows mobile 5.5分、Symbian6.5分。Android基于开源的Linux以及标准的跨平台的编程语言Java,而且源代码开放,并且免费允许所有厂商和个人在其基础上进行开发,其开源和免费政策将赢得不少手机制造商的支持。而且在其平台上集成了不少优秀的开源工程,如Webkit、OpenGL等,相

25、信在不久,将会有更多的优秀工程加入到Android中来。相比其他手机操作系统过于封闭的特性来说,Android在手机操作系统领域将会占有很大的优势,其功能也将会越来越强大。2.5 本章小结 本章对Android平台的特征、架构以及Android应用的构成和工作机制进行了详细的分析。对于Android应用程序来说,主要由Activity、 Service、 Intent Receiver和Content Provider四部分组成,但并不是对于每一个应用程序,这四部分都是必须的。Activity是应用程序中最重要的一种构成块,我们对其进行了详细的分析,包括Activity的生命周期以及Activ

26、ity之间的切换。最后对Android与其它的手机操作系统从九个方面进行了比较,说明了Android的优势。3.系统的总体框架3.1系统需求分析本系统主要用于对手机上网用户,在线浏览该网站,用户管理员可以对商品信息进行增删改查等功能,用户可以在该网站注册,注册后的用户还可以商品进行购买以及评价。使用该系统很大的提高了用户购买能力.具体实现目标如下: (1)手机上网用户可以进行浏览网站所有商品。(2)手机上网用户可以进行所需商品的查询。(3)手机上网用户可以对喜欢的商品进行购买但必须进行注册网站会员才可以进行购买。 (4)手机上网用户进行网站会员的注册,然后进入用户主界面进行对商品选购,还可以对

27、网站进行留言评价。(5)商品管理模块,详细记录了产品种类、名称、价格等信息,并根据需求及时更新商品信息。3.2系统主要功能概述本系统主要实现功能:客户端登陆注册、浏览功能、订单功能、留言评价功能、服务器管理功能。该系统的架构如图3-2-1所示3.2.1客户端登陆注册客户端登陆注册功能:注册手机商城的会员可以进行登录进入该用户的主界面。图3-2-2客户端登陆注册流程图图3-2-3客户端登陆注册用例图3.2.2 浏览功能浏览功能:对网站所有的商品进行浏览操作。图3-2-4浏览功能的流程图图3-2-5浏览功能的用例图3.2.3订单功能 订单功能:注册手机商城的会员可以进行登陆,然后对所选商品进行购买

28、,下订单。 图3-2-6订单功能的流程图图3-2-7订单功能的用例图3.2.4留言评价功能留言评价功能:手机商城的注册用户可以在登录自己的用户主界面后对商品进行评价。图3-2-8留言评价流程图图3-2-9留言评价用例图3.2.5服务器管理功能服务器管理功能:手机商城的网站管理员登录到后台数据库可以对商品信息进行查询,修改,增加以及删除。例如节假日要对商品进行促销的修改价格。图3-2-10服务管理流程图图3-2-11服务管理用例图3.3系统流程用户在浏览网站时首先看到的就是网站首页。在首页用户可以快速浏览最新商品,了解热门商品和推荐商品,也可以搜索已知的商品查看具体信息。用户如果想要购买商品时必

29、须要注册成为会员,在用户查看完商品的详细作息后,可以把自己想要购买的商品放入购物车当中,也可以随时修改、删除购物车里的商品,如果用户对购物车里的商品都很满意,可以去下订单。这时相关的程序模块会将用户所提交的所有信息都记录在数据里以便于商城的管理人员可以核对信息并在收款后准备发货,发货成功并且用户确认收到货物时整个购物过程便结束了。在电子商城的后台管理方面还需要添加、修改、删除商品,同时要对商品进行分类,订单的处理等都需要电子商城的管理人员来操作。为了更加清晰地表达系统的业务功能模块,画出流程图,对于不同的角色,所承担的任务各自不同,流程不一样,包括客户端流程(如图3-3-1所示)和服务端流程(

30、如图3-3-2所示)。图3-3-1客户端流程图图3-3-2服务端流程图3.4系统框架图3-3-1后台管理框图图3-3-2客户端框图4详细设计与实现4.1.详细设计4.1.1前台实现根据客户需求分析,小小手机商城的前台主要包括:搜索,登录,注册,商品浏览,商品购买,留言评价等功能模块。前台流程如下图4-1-1:图4-1-1前台实现流程图4.1.2后台实现小小手机商城的后台主要是三个模块组成,分别是:会员管理,购买信息的管理和商品信息的管理(包括数据的查询,修改,增加,删除)。后台流程如下图4-1-2:图4-1-2后台实现流程图4.2系统实现4.2.1用户首页的实现过程手机用户登录的前台首页,用户

31、可以掌握最新网站商品信息,还可以实现搜索,浏览等功能。前台首页运行结果如图4-2-1所示:图4-2-1前台首页运行界面4.2.2用户注册的实现过程用户注册也就是收集、记录用户详细信息的一个过程,程序将用户的注册信息写入到了phoneuserinfo表里。用户注册页面运行结果如图4-2-2所示:图4-2-2用户注册页面运行界面4.2.3用户登录的实现过程用户经过注册成为网站会员,登录后可以进行购买,留言评价等功能。用户登录页面运行结果如图4-2-3所示:图4-2-3用户登录页面运行界面4.2.4用户搜索的实现过程用户在经过对网站商品信息的了解,根据个人喜好对商品进行筛选,例如用户对手机中sony

32、品牌较为喜爱,可以在搜索框中键入sony,网站将所有sony的所有商品显示,用户可以继续进行后续操作。用户搜索页面运行结果如图4-2-4所示:图4-2-4用户搜索页面运行界面4.2.5用户浏览的实现过程用户在登录首页后,可以查看商品信息。用户浏览页面运行结果如图4-2-5所示:图4-2-5用户浏览页面运行界面4.2.6用户购买的实现过程用户在浏览商品时想要进行商品的订购可以点击购买按钮,进入购买页面,填写购买信息,商品名称和商品个数必填,用户留言可以为空。用户留言将与其他购买信息写入buyinfo表,后台管理将根据表中信息对商品进行调整,如某些商品在长时间没有订购,可以对商品作下架处理。用户购

33、买页面运行结果如图4-2-6,4-2-7所示:图4-2-6-1用户购买页面运行界面图4-2-6-2用户购买页面运行界面4.2.7数据库连接的实现public class DBHelper public static Connection getDBConnection() throws ClassNotFoundException,SQLException ResourceBundle bundle = ResourceBundle.getBundle(com.eorient.web.DBConfig);String driverClass = bundle.getString(driverC

34、lass);String userid = bundle.getString(userid);String password = bundle.getString(password);String url = bundle.getString(url);/ 1.加载驱动程序Class.forName(org.gjt.mm.mysql.Driver);/ 2.获得数据库连接Connection conn = DriverManager.getConnection(jdbc:mysql:/localhost/android,root,123);return conn;4.2.8后台实现管理员可以进

35、入MySQL,在连接pei中的android数据库中,进行修改。以实现对会员信息管理,购买信息的管理,商品信息的增加,删除,修改,查询。商品信息的管理如下图4-2-8-1,对表productinfo修改,修改字段内容以实现功能。图4-2-8-1商品信息管理会员信息的管理如下图4-2-8-2,对表phoneuserinfo修改,完善会员信息,以及删除非法会员。图4-2-8-2会员信息管理购买信息的管理如下图4-2-8-3,对表buyinfo修改,管理员对购买信息进行统计,以方便对商品的管理。图4-2-8-3购买信息管理5.1总结和展望在此次项目中我担任Struts2框架技术支持和手机客户端的设计

36、。(1)在android的手机客户端。具体代码流程为定义一个了Button类btnGO,从界面中取出按键将btnGO实例化, 创建一个Uri的链接到服务器端,用到的技术就是手机浏览器WebKit。Android应用端开始链接服务器端,将服务器端的页面信息通过手机客户端的WebView显示在Android手机界面上。以下是主要的实现代码:public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.main);btnGO = (Button) f

37、indViewById(R.id.go);btnGO.setOnClickListener(new View.OnClickListener() Overridepublic void onClick(View v) Uri url = Uri.parse(http:/192.168.2.143:8620/Struts2Test/include.jsp);Intent intent = new Intent(Intent.ACTION_VIEW, url);startActivity(intent););(2)为了解决网络的延迟问题,我们可以使用线程把手机客户端程序继续完善,采用了线程后可以解

38、决网络的延迟,应答迟缓的现象,以下是用线程实现的核心代码:public class WebViewDemo extends Activity /* Called when the activity is first created. */ Override public void onCreate(Bundle icicle) super.onCreate(icicle); setContentView(R.layout.main); webView1 = new WebView(this); webView1 .loadData( Can I focus?No I cannot!., tex

39、t/html, utf-8); this.setContentView(webView1); Logger.info(Download Faild _= + webView1.canGoBack(); webView = new WebView(this); webView.loadUrl(http:/192.168.2.143:8620/Struts2Test/include.jsp); new Thread(new WebDownloadListener(this).start(); WebView webView1; class WebDownloadListener implement

40、s Runnable, DownloadListener WebViewDemo wd; WebDownloadListener(WebViewDemo wd) this.wd = wd; /使用线程代码: public void run() int j=0; StringBuffer sb = new StringBuffer(); sb.append(正在连接网络); while (true) try Thread.sleep(4 * 1000); j+; sb.append(.); webView1 = new WebView(wd); webView.loadUrl(http:/192

41、.168.2.143:8620/Struts2Test/include.jsp); Message msg = mHandler.obtainMessage(); mHandler.sendMessage(msg); catch (Throwable e) Logger.info(e.toString(); e.printStackTrace(); if (j= 3) webView1 = null; Message msg = mHandler.obtainMessage(); mHandler.sendMessage(msg); break; public void onDownloadF

42、ailed(String arg0, int arg1) Logger.info(Download Faild _= + arg0); public void onDownloadFinished(String arg0) Logger.info(Download Finished = + arg0); setContentView(webView); public void onDownloadStart(String arg0, String arg1, long arg2, Message arg3, Message arg4) Logger.info(Download Faild _=

43、 + arg0); public void onDownloadSuspended(String arg0, Message arg1) Logger.info(Download Faild _= + arg0); Handler mHandler = new Handler() Override public void handleMessage(Message msg) super.handleMessage(msg); /invalidate(); if(webView1 = null) setContentView(webView); else setContentView(webVi

44、ew1); ; WebView webView = null; (3)在这个项目中,我们项目组主要采用了MVC的设计模式,MVC英文即Model-View-Controller视图(View) 与用户交互的界面,对于Web应用系统来说,可以是HTML页面、JSP 、XML和Applet等。控制(Controller)接收用户请求, 根据用户不同请求去调用不同模型,再根据调用的不同结果跳转到响应的视图,它是应用系统的CUP,是调度中心。模型(Model)它是业务逻辑层,是业务逻辑处理的核心。这么来设计就是为了把表示层和下面的业务逻辑层和数据持久层分开。这么可以使层次更加分明,使得分工更加明确。大

45、部分用过程语言比如ASP、PHP开发出来的Web应用,初始的开发模板就是混合层的数据编程。例如,直接向数据库发送请求并用 HTML显示,开发速度往往比较快,但由于数据页面的分离不是很直接,因而很难体现出业务模型的样子或者模型的重用性。产品设计弹性力度很小,很难满足用户的变化性需求。MVC要求对应用分层,虽然要花费额外的工作,但产品的结构清晰,产品的应用通过模型可以得到更好地体现。下面我们可以用图表看一下他们具体之间的关系:而且struts2框架技术就是很好的实现MVC的设计模式的一种,在我们项目的中的搜索模块中就采用了这种模式,下面我来详细地说明我们是怎么样实现的。(4)首先我们来看VIEW(

46、视图)的东西,在这里我们主要用JSP来开发界面,下面搜索页面的核心代码:请输入要查信息(如手机型号):(5)从手机客户端加载的信息通过Controller(在这里就是struts.xml文件)进行判断,通过判断我们可以得知是class=com.eorient.web.UserSearch(即Action为UserSearch)来进行数据的相关处理。那么下面我们就来看一下的UserSearch.java(在这里就是MVC中的模板)文件是怎么处理的。其核心代码如下:public class UserSearch implements Action private List list;public

47、List getList() return list;public void setList(List list) this.list = list;public String execute() throws Exception Database user = new Database();/Map userget = new HashMap();list = user.search(usersearch);if (list.equals(null)return INPUT;elsereturn SUCCESS;private String usersearch;public String

48、getUsersearch() return usersearch;public void setUsersearch(String usersearch) this.usersearch = usersearch;其中代码中用到了列表List和实例化了Database类的一个对象user,在这里我要解释一下,对象user调用了Database类中的search()方法,而这个方法的返回值就是一个列表LIST。其中在Database中实现了对数据持久层的封装,在本类只需实例化Database的一个对象user,通过user来调用实现了对数据持久层的封装的方法search()方法,具体的sear

49、ch()方法是如何实现的,我们可以看一下其核心的代码,代码如下:public List search(String name) Connection conn = null; Statement stmt = null; Map user = new HashMap();List list = new ArrayList();/ 1.加载驱动程序 try conn = DBHelper.getDBConnection(); / 3.创建语句对象 stmt = conn.createStatement(); / 4.执行SQL语句 ResultSet rs = stmt .executeQuer

50、y(select productType,productName,ProductInfo from productinfo where productType like %+ name + %); while (rs.next() Productinfo bean = new Productinfo();bean.setProductType(rs.getString(productType);bean.setProductName(rs.getString(productName);bean.setProductInfo(rs.getString(ProductInfo);list.add(bean); return list; catch (ClassNotFoundException e) e.printStackTrace(); catch (SQLException e) e.printStackTrace(); finally / 5.释放资源 try if (stmt != null) stmt.close(); catch (SQLException e) e.printStackTrace(); try if (conn != null) conn.close();

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!