




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、安防产品生产型中小企业基于开源软件的电子商务实现PAGE IIPAGE 39PAGE IV安防产品生产型中小企业基于开源软件的电子商务实现摘要目前,开源软件经过几年的起伏已基本站稳了脚跟,在个人和商业领域中得到了广泛的应用。开源软件具有代码公开、安全性、低成本等特点,能更好地进行资源整合和开发利用,对推进我国中小型企业信息化具有重要意义。本文主要介绍了安防产品生产企业如何整合和利用开源软件进行电子商务网站的建设,为企业提供B2B或B2C电子商务应用实现。主要的功能模块有企业信息展示、新闻发布、产品展示、会员(客户)注册、购物车、订单处理、产品质量反馈(投票与评论)、邮件列表订阅、交流论坛等模块
2、。利用JavaBean组件,Servlet,JDBC与数据库等技术。运用到的开源软件有应用服务器:Apache Tomcat 5.5, JBoss 4.0;集成开发环境IDE(Integrated Development Environment):Eclipse 3.2;数据库:MySQL 5.0 + MySQL Administrator 以及Sun Java开发工具包JDK 1.5.0和开源软件工具包。本文从电子商务的概况说起,就开源软件如何帮助中小企业进行信息化建设及开展电子商务进行分析,对当前最热门的动态网站开发工具JSP、ASP、PHP从技术应用上进行了分析和比较,阐述Java在构建
3、电子商务平台中的优势,对JSP的基本工作原理以及一些主要技术作了说明。接着主要介绍了该电子商务网站具体设计及实现。最后对本次毕业设计做出了总结。关键词:电子商务;开源软件;中小企业;J2EE;JSP;MVCThe Implement of E- Commerce in the Medium and Small Security & Protection Products Manufacture Based on Free/Open Source SoftwareABSTRACTAt present, Open Source Software has kept its steps during
4、the past swelling years, and has been widely used in personal and commercial fields. Featuring open code, high security and low cost, Open Source Software made it more convenient for integration and exploitation of the resources, and more significant in promoting informationalization of Small Medium
5、 Enterprises (SME).The thesis mainly introduces how the enterprises, which manufacture secured and protected products, integrate and use Open Source Software to construct E-commerce websites and provide B2B or B2C E-commerce application. The chief functional modules include enterprise information sh
6、ow, news conference, commodity show, member (customer) registration, shopping cart, order disposal, feedback about product quality( vote and comment), subscription of mails in list, communication forum and other modules. JavaBean groupware, Servlet, JDBC and database shall be used. The Open Source S
7、oftware involves application server Apache Tomcat5.5, JBoss 4.0, Integrated Development Environment Eclipse 3.2, Database MySQL5.0+MySQL Administrator and Sun Java Development Kit (JDK) and Open Source Software kit.From the beginning about the general situation of E-commerce, the thesis will analyze
8、 how to help the small and medium enterprises to realize information construction and develop E-commerce, ant then do some analysis and comparison among JSP, ASP PHP, the hottest dynamic website exploiting tools. It also narrates the advantages of Java in constructing E-commerce platform and the bas
9、ic work principles of JSP, followed by the introduction of detailed design of this E-commerce website and its implementation with a summary for the diploma project in the end.Key words:EC; FOSS; Medium and Small Enterprise; J2EE;JSP ;MVC目录 TOC f h z u t 标题 1,2,标题 2,3,标题 3,4,标题,1 HYPERLINK l _Toc1999
10、94489 摘要 PAGEREF _Toc199994489 h II HYPERLINK l _Toc199994490 ABSTRACT PAGEREF _Toc199994490 h III HYPERLINK l _Toc199994491 目录 PAGEREF _Toc199994491 h V HYPERLINK l _Toc199994492 1 绪论 PAGEREF _Toc199994492 h 1 HYPERLINK l _Toc199994493 1.1 文献综述 PAGEREF _Toc199994493 h 1 HYPERLINK l _Toc199994494 1.
11、1.1 我国安防中小企业电子商务发展现状 PAGEREF _Toc199994494 h 1 HYPERLINK l _Toc199994495 1.1.2 电子商务网站开发技术现状 PAGEREF _Toc199994495 h 2 HYPERLINK l _Toc199994496 1.1.3 开源概述 PAGEREF _Toc199994496 h 3 HYPERLINK l _Toc199994497 1.2 问题的提出 PAGEREF _Toc199994497 h 5 HYPERLINK l _Toc199994498 2 基本理论与基础知识 PAGEREF _Toc1999944
12、98 h 6 HYPERLINK l _Toc199994499 2.1 电子商务理论 PAGEREF _Toc199994499 h 6 HYPERLINK l _Toc199994500 2.1.1 什么是电子商务(Electromic Commerce) PAGEREF _Toc199994500 h 6 HYPERLINK l _Toc199994501 2.1.2 电子商务的特征 PAGEREF _Toc199994501 h 7 HYPERLINK l _Toc199994502 2.1.3 电子商务的模式 PAGEREF _Toc199994502 h 8 HYPERLINK l
13、 _Toc199994503 2.2 J2EE PAGEREF _Toc199994503 h 9 HYPERLINK l _Toc199994504 2.2.1 JDBC PAGEREF _Toc199994504 h 9 HYPERLINK l _Toc199994505 2.2.2 JSP PAGEREF _Toc199994505 h 11 HYPERLINK l _Toc199994506 2.2.3 Java Servlet PAGEREF _Toc199994506 h 11 HYPERLINK l _Toc199994507 2.2.4 XML PAGEREF _Toc1999
14、94507 h 12 HYPERLINK l _Toc199994508 2.2.5 JavaMail PAGEREF _Toc199994508 h 13 HYPERLINK l _Toc199994509 2.3 MVC概述及特点 PAGEREF _Toc199994509 h 14 HYPERLINK l _Toc199994510 2.4 数据库连接池 PAGEREF _Toc199994510 h 15 HYPERLINK l _Toc199994511 3 开发环境搭建与基础组件设计 PAGEREF _Toc199994511 h 17 HYPERLINK l _Toc199994
15、512 3.1 开发环境搭建 PAGEREF _Toc199994512 h 17 HYPERLINK l _Toc199994513 3.1.1 基础环境安装与配置 PAGEREF _Toc199994513 h 17 HYPERLINK l _Toc199994514 3.1.2 其他相关组件安装与配置 PAGEREF _Toc199994514 h 22 HYPERLINK l _Toc199994515 3.2基础组件设计与开发 PAGEREF _Toc199994515 h 25 HYPERLINK l _Toc199994516 3.2.1 数据库连接工具 PAGEREF _Toc
16、199994516 h 25 HYPERLINK l _Toc199994517 3.2.2 邮件工具 PAGEREF _Toc199994517 h 26 HYPERLINK l _Toc199994518 3.2.3 文件工具 PAGEREF _Toc199994518 h 26 HYPERLINK l _Toc199994519 3.2.4 图像工具 PAGEREF _Toc199994519 h 26 HYPERLINK l _Toc199994520 3.2.5 加密工具 PAGEREF _Toc199994520 h 27 HYPERLINK l _Toc199994521 3.2
17、.6 分页工具 PAGEREF _Toc199994521 h 27 HYPERLINK l _Toc199994522 4 安防产品生产型中小企业电子商务网站设计与实现 PAGEREF _Toc199994522 h 28 HYPERLINK l _Toc199994523 4.1 网站总体框架 PAGEREF _Toc199994523 h 28 HYPERLINK l _Toc199994524 4.1.1 网站前台界面 PAGEREF _Toc199994524 h 28 HYPERLINK l _Toc199994525 4.1.2 网站后台界面 PAGEREF _Toc199994
18、525 h 29 HYPERLINK l _Toc199994526 4.2 产品展示模块设计 PAGEREF _Toc199994526 h 30 HYPERLINK l _Toc199994527 4.2.1 需求分析 PAGEREF _Toc199994527 h 30 HYPERLINK l _Toc199994528 4.2.2 功能建模 PAGEREF _Toc199994528 h 30 HYPERLINK l _Toc199994529 4.2.3 数据库设计 PAGEREF _Toc199994529 h 34 HYPERLINK l _Toc199994530 4.2.4
19、采用JSP + Servlet + JavaBean实现MVC模式 PAGEREF _Toc199994530 h 35 HYPERLINK l _Toc199994531 4.2.5 MVC组件设计开发 PAGEREF _Toc199994531 h 35 HYPERLINK l _Toc199994532 5 总结 PAGEREF _Toc199994532 h 39 HYPERLINK l _Toc199994533 参考文献 PAGEREF _Toc199994533 h 40 HYPERLINK l _Toc199994534 致谢 PAGEREF _Toc199994534 h 4
20、1PAGE 401 绪论1.1 文献综述1.1.1 我国安防中小企业电子商务发展现状2005年3月,国家发改委中小企业司委托每周电脑报、中国中小企业杂志、中国中小企业信息网联合开展了对中国中小企业信息化状况的调查。通过地方中小企业管理部门组织填写、在中小企业网网上填写、企业自愿以电子邮件形式提交、会议和活动现场填写等多种方式进行填表调查,并于2006年6月12日发布了中国中小企业信息化调查报告1。调查结果显示,60.8%的中小企业设有专门的信息化部门,说明信息化建设的重要性在企业中已经提到了一定高度,但还有39.2的企业没有设置专门的部门。其中有31%的企业由首席信息官或副总经理主管信息化工作
21、,39%的中小企业专门设置了主管信息化的部门经理,负责管理企业信息化建设和运行工作。由此可见,中小企业已经认识到信息化对一个企业发展具有十分重要的作用。但是,报靠中也显示80.9%的中小企业只配有5名以下IT技术人员,技术力量较为薄弱。另外,中小企业中可以熟练使用计算机的员工只占总数的38.1%,一半员工停留在一般应用计算机的水平。中小企业要想提高信息化应用水平还需要进一步加强对员工的计算机应用培训。技术力量缺乏、员工计算机应用能力不高成为了制约中小企业实施信息化的瓶颈。在企业相关IT制度的建立和企业信息化设备配备情况方面,企业已将企业信息化列入了企业发展的计划中,并很好的配备了企业信息化设备
22、,已为企业信息化做好了准备。在电子商务应用方面,四成中小企业已经开展电子商务应用,近一半中小企业尚未开展电子商务应用。电子商务所带来的革命性影响,不仅造成生产与商业方式的改变,甚至影响人类的工作形态与生活方式。电子商务在给中小企业带来商机的同时,也为中小企业带来不小的冲击。电子商务的发展对大企业和中小企业之间相对竞争力的变化影响,要从B to C和B to B两个层面来分析。需要注意的是,中小企业不能以大企业的系统架构来建设其电子商务系统,应有自己的一套建设原则,否则容易遭遇人才不足、系统不相容、导入经费过高、组织不适应等问题。由于该报告具有中小企业中的行业一般性,我们可以得出安防产品生产中小
23、企业的信息化建设与电子商务开展的情况。结论:安防产品生产中小企业与普遍中小企业一样对信息化建设与电子商务开展具有强烈愿望,并已作好硬件设施准备,在软件方面,专业技术人员缺乏与员工计算机应用能力水平是需要企业急需解决的问题。技术人才缺乏、资金匮乏、内部业务流程不规范是中小企业信息化建设的三大阻力。调查结果显示,财务管理系统、信息安全将是中小企业信息化建设的两个热点,财务管理系统的新建、完善、与其他系统的互连互通成为44.6%企业的重点考虑,信息安全也是近四成企业的建设重点,而电子商务系统占比27.1%,居于第五位。目前中小企业电子商务主要是通过第三方平台进行开展,国内著名有阿里巴巴(/)B2B电
24、子商务平台;安防行业B2B电子商务交易平台:安防网_hc360慧聪网(/);安防交易网(/CN/)。B2C电子商务交易基本上为0,笔者随机对慧聪网上注册企业进行访问,发现注册企业有一半以上有建设自己的门户网站,超过四成并没有建立自己的门户网站,只是利用慧聪网为注册企业提供的通用网站模版生成的网站,这类网站真正意义上并不能称为企业门户。因为网页上只提供了企业简单的介绍信息。而在已建设门户的企业中,超过六成的企业,只是将门户作为产品的展示平台,并未充分利用网络资源。企业建设具备或初步具备B2B/B2C电子商务功能平台是企业独立开展电子商务的前提之一。1.1.2 电子商务网站开发技术现状交互式WEB
25、应用开发技术经过近几年发展,淘汰了过时的技术,新技术也大量涌现。现在开发交互式WEB应用主要技术有ASP/ASP.NET;J2EE,以及PHP,及较新的Ruby on Rails。ASP/ASP.NET 属于Microsoft公司的产品,属于商业性质,不符开放源代码精神,这里不做讨论。J2EE (Java 2 Enterprise Edition)2是建立在Java 2平台上的企业级应用的解决方案。J2EE技术的基础便是Java 2平台,不但有J2SE平台的所有功能,同时还提供了对EJB,Servlet,JSP,XML等技术的全面支持,其最终目标是成为一个支持企业级应用开发的体系结构,简化企业
26、解决方案的开发,部署和管理等复杂问题。事实上,J2EE已经成为企业级开发的工业标准和首选平台。J2EE并非一个产品,而是一系列的标准。所以只是符合这个标准的实现(如BEA WebLogic,IBM WebSphere以及开源的JBoss),J2EE应用就可以运行于这些实现上。企业可以选择符合自己需要的J2EE实现。目前最新版本为J2EE 1.5。PHP 3是一种嵌入在 HTML 并由服务器解释的脚本语言。它可以用于管理动态内容、支持数据库、处理会话跟踪,甚至构建整个电子商务站点。它支持许多流行的数据库,包括 MySQL、PostgreSQL、Oracle、Sybase、Informix 和 M
27、icrosoft SQL Server。PHP适用于Linux和各种Unix及Windows平台。目前最新版本为PHP 5.2.5。Ruby on Rails4是一种结合Ruby语言与Rails平台的一种网页编程语言,Ruby语言以自然、简洁、快速著称,全面支援面向对象,而Rails则是Ruby广泛应用方式之一,在Rails平台上设计出一套独特的MVC开发架构,采取模型(Model)、视图(View)、控制器(Controller)分离的开发方式,不但减少了开发中的问题,更简化了许多繁复的动作。目前最新版本为Ruby on Rails 2.0。J2EE作为目前开发电子商务网站最成熟的技术之一,
28、并具有丰富的学习资源及软件支持。其核心Java语言作为一种工业语言使得团队开发更加容易,软件质量也得到保证;另外一方面,在开发电子商务应用最常见的问题便是性能问题,电子商务网站的性能瓶劲并不是单靠加强服务器CPU数据处理能力,加大服务器内存容量就能够解决的,电子商务网站性能解决之道便是分布应用,这便涉及到了分布式对象技术5。目前分布式对象技术主要有Microsoft公司的COM+(Component Object Model plus)、由对象技术标准化团体OMG(Object Management Group)制订的,针对分布式对象使用的接口规范:CORBA(Common Object Re
29、quest Broker Architecture)与Java分布式对象。Java从设计之初就是一种针对面向对象的语言,基于利用网络的思路来进行开发的,Java分布式对技术包括RMI(Remote Method Invocation)、与CORBA连接的RMI/IIOP(RMI over IIOP)和HORB。Java语言这两方面特点,决定了它是目前进行电子商务网站开发的首选技术。1.1.3 开源概述1、FOSSFOSS是Free/Open Source Software6的缩写,意指自由/开源软件。开放源代码软件就是在开放源代码许可证下发布的软件,以保证软件用户自由使用及接触源代码的权利,这
30、同时也保障了用户自行修改、复制、以及再分发的权利。1989年Stallman起草了GNU GPL(GNU General Public License,GNU通用公共协议证书),对现有版权体系(Copyright)进行了批判和升华,创造性地提出了“Copyleft”概念。Copyleft是所有的GNU程序必须遵循一种原则即可以修改、出售,但源代码所有的改进和修改须向每个用户公开,以保证自由软件传播的延续性。目前,几百种成熟的开源产品被广泛使用,其中比较著名的有Solaris、BSD UNIX、Linux、Perl语言、GCC、X-Window系统等。在企业级的核心应用上,扮演着重要角色,甚至出
31、现了LAMP和LAMJJ(Linux+Apache+MySQL+JBOSS+Java)这样的基于服务器的开源软件架构。2、主要开源软件项目介绍开源软件通常来自个、组织或公司所开发的软件项目。开源软件社区为开源软件项目提供了需要的基础设施,如项目人员的交流、软件存储与发布等。目前比较有名的开源软件社区有:Apache社区( HYPERLINK )Apache社区是由Apache Web Server软件项目发展来的,目前包括Web Server在内的一系列开源软件项目。Apache Web Server项目:高性能的Web服务器。Apache Ant项目:Ant是一个基于Java的构建(buil
32、d)工具,类似于make,但是没有make的缺点。Jakarta项目:由一些子项目组成,Tomcat是该项目中一个子项目。Tomcat既是一个轻量级的Web应用服务器也是一个JSP容器。XML项目Web Service项目ObjectWeb社区( HYPERLINK )ObjectWeb社区主要致力于开发开源的中间件产品,比较著名的软件有:JonAS开源的EJB容器。JORAM实现了Java消息服务(JMS)。SourceF( HYPERLINK )SourceF是目前最大的开源软件社区,为开源软件项目提供免费的服务。目前容纳了超过5万个开源软件项目。该社区是由VA Software公司创立的
33、。1.2 问题的提出根据前面阐述,要解决安防生产中小企业信息化与电子商务网站平台建设中的三大主要问题技术人员缺乏;员工计算机应用能力水平不高;资金缺乏。较好的解决方法就是使用开源软件,这将大大的减少企业信息化建设的成本,从操作系统到应用软件,开源软件已有很长的产品线供中小企进行选择,如国产红旗操作系统(Red Flag Linux),不仅保持着开源软件的精神免费使用,还为国人进行了使用习惯上的优化;Open Office完全能够代替Microsoft的Microsoft Office办公套件,还有CRM,ERP等软件。这对于中小企业来说将减少了昂贵的软件使用许可费用,对使用盗版软件的中小企业来
34、说,使用开源软件代替盗版软件,在越来越注重知识版权的今天,无疑为企业长远发展扫清了障碍。在够建电子商务平台网站方面,基于J2EE技术体系的开源软件产品更是多不胜数,从Web服务器、数据库服务器,源代码编译工具,测试工具,开发工具等所需要用到的软件,都能找到对应的产品。使用开源软件的好处是显而易见的,然而企业使用开源软件是需要一个过渡时期的,这不是一个短期就能够做到的事情,技术人员需要引进,员工需要陪训,好在使用开源软件所省下的资金,可以用在这一方面支出。经过这一过渡时期以后,使用开源软件的好处才见证。如何利用开源软件促进中小企业信息化建设是一个值得探讨的问题,本文主要是研究如何整合利用开源软件
35、资源,完成安防产品生产中小企业电子商务平台网站的构建。项目中主要使用到的开源软件有:Tomcat 高性能的Web应用服务器MySQL 高性能,功能完善的开源数据库系统Eclipse 开源的集成开发环境,通过插件的方式很容易地扩展功能MyEclipse 企业级工作平台,是对Eclipse IDE的扩展,利用它可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。2 基本理论与基础知识2.1 电子商务理论2.1.1 什么是电子商务(Electromic Commerce)通俗地说,电子商务7就是在网上开展商务活动当企业将它的主要业务通过企业内部网(Intranet)、
36、外部网(Extranet)以及因特网(Internet)与企业的职员、客户、供应商以及合作伙伴直接相连时,其中发生的各种活动就是电子商务。事实上,今天还没有一个软为全面、具有权威性的、能够为大多数人接受的电子商务的定义。各组织、政府、公司、学术团体根据自己的理解和需要给出不同的定义,其中较为系统和全面的:联合国国际贸易程序简化工作组的定义是:采用电子形式开展的商务活动,它包括在供应商、客户、政府及其参与方之间通过各种电子工具,如EDI、Web技术、电子邮件等共享非结构化或结构化商务信息,并管理和完成在商务活动、管理活动的消费活动中的各种交易。联合国经济合作和发展组织(OECD)有关电子商务的报
37、告中对EC定义:电子商务是发生在开放网络上的包含会业之间(Business to Business)、企业和消费者之间(Business to Consumer)的商业交易加拿大电子商务协会给出其不意电子商务的较为严格的定义:电子商务是指通过数字通信进行商品和服务的买卖以及资金的转帐,它包括公司间和公司内利用E-mail、EDI、文件传输、传真、电视会议、远程计算机联网所能实现的全部功能(例如:市场营销、金融结算、销售以及商务谈判)。虽然电子商务没有成文的定义,但对我们来说,更重要的是分析这些定义,理解电子商务的3个基本要素:以因特网为主要业务平台,各种现代信息技术为支撑以电子信息的传输来实现
38、各种商务信息(包括数字化商品和服务)的传递。包括各种行业、部门和组织以及各种形式商务活动的管理和运作。最后,我们必须特别注意的是:电子商务是一个不断发展和变革的概念。2.1.2 电子商务的特征电子商务与传统商务活动相比,主要表现在以下几个特征:1、交易方式电子商务主要由电子方式完成各种形式的商务活动,如电子目录、电子合同、电子商品编码、信用卡、智能卡等。电子信息的传递取代了传统商务活动中的纸介质的单证、文档和人工方式的传递。2、交易过程电子商务几乎改变了传统交易过程的所有环节,如可以在网上实现网上广告、订货、电子支付、货物递交、服务、市场调查分析、财务核算、生产安排等。这不仅提高了交易的效率,
39、并引起了交易的组织和管理发生变化。3、交易工具电子商务产生了许多在传统商务活动中没有的电子化的交易工具,而且这些工具还在随着信息技术的发展而不断创新和完善,例如电子数据交换、电子邮件、电子商务网站、网络社区等。4、信息技术的应用信息技术是电子商务的基础,网络技术、数据库和数据交换、数据获取、数据统计处理技术等,几乎信息技术的所有成果都可以在电子商务中得到应用。这使得电子商务中技术的含量远远超过传统商务过程。5、交易平台电子商务是在因特网上运作的交易方式,包括与用户、上下游企业间以及其他和交易有关的实体之间的商务活动都主要是通过因特网完成。覆盖全球的因特网是电子商务运行的基本平台。即使一个小企业
40、,只要开展电子商务就具有国际化的特征。6、交易时空观因特网和电子信息的传输使得交易过程的时间和空间的概念产生变化。首先从时间上说,网上的企业或商店可以一周7天,每天24小时营业;从空间上讲,在某一个网上商店购物时,不需要关心在它在什么地方,地球变成了“地球村”。电子商务使得人们足不出户,轻点鼠标就可以在任意时间访问世界上任何一个网站。7、交易环境和策略由于有以上一些特点,电子商务运行环境发生了巨大的变化,所以对传统的企业管理理念、市场营销策略以及对政策、法律等都产生了冲击,提出了新的要求。这样,人们就需要研究网络营销的新策略和电子商务的相关法律。很明显,这些特点不仅仅是工具和形式的变化,而且使
41、得商务活动的运行机制和管理理念发生了变革。2.1.3 电子商务的模式电子商务经过这么多年来的发展、演变,渐渐形成了自己的模式,主要有以下四种:企业内部间的电子商务主要是通过企业内部网(Intranet)的方式处理与交换商贸信息。企业内部网(Intranet)是一种有效的商务工具,通过防火墙,企业将自己的内部网与Internet隔离,它可以用来自动处理商务操作及工作流,增强对重要系统和关键数据的存取,共享经验,共同解决客户问题,并保持组织间的联系。通过企业内部的电子商务,可以给企业带来如下好处:增加商务活动处理的敏捷性,对市场状况能更快的作出反应,能更好地为客户提供服务。 企业与企业间的电子商务
42、(B-B模式)主要是通过INTERNET或专用网方式进行电子商务活动。企业间的电子商务是电子商务三种模式中最值得关注和探讨的,因为它最具有发展的潜力。 企业与消费者之间的电子商务(B-C模式)主要是企业通过INTERNET为消费者提供一个新型的购物环境-网上商店,消费者通过网络在网上购物、在网上支付。由于这种模式节省了客户和企业双方的时间和空间,大大提高了交易效率,节省了不必要的开支。企业与政府间的电子商务(B-G模式)这种商务活动覆盖企业与政府组织间的各项事物,主要包括政府采购、网上报关、报税等。2.2 J2EEJ2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂
43、问题的体系结构8。由一整套服务(Services)、应用程序接口(APIs)和协议构成,它对开发基于Web的多层应用提供了功能支持,以下为J2EE中的13种技术规范:1、JDBC(Java Database Connectivity)2、JNDI(Java Name and Directory Interface)3、EJB(Enterprise JavaBean)4、RMI(Remote Method Invoke)5、Java IDL/CORBA 6、JSP(Java Server Pages) 7、Java Servlet8、XML(Extensible Markup Language)
44、 9、JMS(Java Message Service)10、JTA(Java Transaction Architecture) 11、JTS(Java Transaction Service) 12、JavaMail 13、JTA(JavaBeans Activation Framework)下面根据设计中所涉及到的技术进行介绍。2.2.1 JDBC图2-1使用JDBC API与数据库交互图2-1使用JDBC API与数据库交互1、JDBC简介JDBC(Java Data Base Connectivity, java数据库连接)9是一种用于执行SQL语句的Java API,可以为多种关系
45、数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序。图2-1展示了应用组件如何使用JDBC API与数据库进行交互Servlet使用数据模型(data model)和查询文件通过EJB和JDBC行集(RowSet)调用来访问JDBC资源。2、JDBC应用模型两层应用模型在两层应用模型中,一个Java Applet或者Java应用直接与数据库对话。这需要JDBC驱动器与特定的数据库管理系统(DBMS)通信进行存取,SQL命令被发送到数据库
46、,然后执行结果集再发送回给用户。三层应用模型图2-2三层模型在三层应用模型中,SQL命令被发送到服务中间层(middle tier),中间层再将SQL命令发送给数据库。数据库处理SQL命令后将结果返回给中间层,中间层再将之发送回给用户。如图22:三层模型图2-2三层模型该模型使对共享数据的存取和更新保持控制成为可能,另外一个好处就是用户可以使用更易于使用的高级中间层API,让中间层去完成对低级的调用。中间层结构具有性能优势。现在大多数的Web应用都采用该模型进行开发和部署。4、JDBC中重要的5个接口(1) Connection:特定数据库的连接(会话)。在连接上下文中执行SQL语句并返回结果
47、。(2) Statement:用于执行静态SQL语句并返回它所生成结果的对象。(3) PreparedStatement:表示预编译的SQL语句的对象。(4) CallableStatement:用于执行SQL存储过程的接口(5) ResultSet:表示数据库结果集的数据表,通常通过执行查询数据库的语句生成。2.2.2 JSPJSP的全称是Java Server Page11,是由Sun公司倡导、许多公司参与一起建立的一种动态网页技术标准;是在Servlet技术基础上发展起来的;是在服务器端编译执行的Web数据库系统应用程序编程语言,其脚本语言采用Java。事实上,JSP页上在处理请求之前都
48、要编译成Servlet。浏览器Web服务器浏览器Web服务器JSP Page产生Servlet编译Servlet图2-3 JSP原理(1) 客户端发出Request(请求);(2) JSP Container将JSP转译成Servlet的源代码;(3) 将产生的Servlet的源代码经过编译后,并加载到内存执行;(4) 把结果Response(响应)至客户端。Servlet调用init()进行初始化Servlet调用init()进行初始化Service1Service2Service3调用destory()进行销毁时间图2-4 Servlet的生命周期2.2.3 Java ServletSer
49、vlet是对支持Java的服务器的一般扩充。servlet最常见的用途是扩展Web服务器,提供非常安全的、可移植的、易于使用的CGI替代品。servlet是一种动态加载的模块,为来自Web服务器的请求提供服务。它完全运行在Java虚拟机上。由于servlet在服务器一端运行,因此它不依赖于浏览器的兼容性。1、Servlet的生命周期Servlet从产生到结束的流程如图2-4:(1)产生Servlet,加载到Servlet Engine中,然后调用init()方法进行初始化工作。(2)以多线程的方式处理来自Client的请求。(3)调用destory()来销毁Servlet,进行垃圾收集(gar
50、bage collection)。2、核心接口与方法由于目前Web应用都是基于HTTP协议的,在此我们只讨论javax.servlet.http包下的类/接口与方法。(1) HttpServlet类该类扩展了GenericServlet类并对servlet接口提供了与HTTP更相关的实现。public void service(HttpServletRequest req,HttpServletResponse res)throws ServletException,IOException该方法作为HTTP请求的分发器,这个方法在任何时候都不能被重载。当请求到来时,service()方法决定请
51、求的类型,并把请求分发给相应的处理方法。(2) HttpServletRequest接口public interface HttpServletRequest extends ServletRequest所有实现此接口的对象(例如从servlet容器传递的HTTP请求对象)都能让servlet通过自己的方法访问所有请求的数据。(3) HttpServletResponse接口public interface HttpServletResponse extends servletResponseServlet容器提供一个实现该接口的对象并通过service()方法将它传递给Servlet。通过此
52、对象及其方法,servlet可以修改响应头并返回结果。2.2.4 XMLXML是eXtensible Markup Language的缩写。扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。 XML的简单使其易于在任何应用程序中读写数据,这使XML很快成为数据交换的唯一公共语言,虽然不同的应用软件也支持其它的数据交换格式,但不久之后他们都将支持XML,那就意味着程序可以更容易的与Windows、Mac OS, Linux以及其他平台下产生的信息结合,然后可以
53、很容易加载XML数据到程序中并分析他,并以XML格式输出结果。在XML中,采用了如下的语法:(1) 任何的起始标签都必须有一个结束标签。可以采用另一种简化语法,可以在一个标签中同时表示起始和结束标签。这种语法是在大于符号之前紧跟一个斜线(/),例如。XML解析器会将其翻译成。(2) 标签必须按合适的顺序进行嵌套,所以结束标签必须按镜像顺序匹配起始标签,例如this is a sample string。这好比是将起始和结束标签看作是数学中的左右括号:在没有关闭所有的内部括号之前,是不能关闭外面的括号的。(3) 所有的特性都必须有值。(4) 所有的特性都必须在值的周围加上双引号。XML目前在We
54、b应用开发中使用广泛,在Java开发中常用于系统配置与数据交换。2.2.5 JavaMailJavaMail12是J2EE平台的一个组成部分,它可以使用户绕开底层协议而专注与具体通信消息,此外JAVAMAIL提供了对POP3、LotusNotes和MH等协议的支持。JAVA MAIL分层体系(图2-5):(1) 抽象层:该层定义了用于邮件处理的、功能的抽象类,接口和抽象方法。所有的邮件系统都支持这些功能,它独立于供应商和协议消息,抽象层位于JAVA MAIL 顶级(javax.mail)包内。图2-5 Java Mail分层体系(2) Internet邮件实现层:该层实现了部分抽象层元素,遵循
55、Internet标准RFC822和MIME。Internet邮件实现层所定义的类和接口大多位于ernet包内。图2-5 Java Mail分层体系(3) 协议实现层:该层由服务提供商实现对特定协议的支持。如:SMIP、POP、IMQP和NNTP。2.3 MVC概述及特点MVC(Model-View-Controller) 13是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型(Model)、视图(View)、控制器(Controller)。它们各自处理自己的任务。1、模型(Model)模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有
56、最多的处理任务。它用来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。应用模型可以被多个视图重用,减少了代码的重复性。2、视图(View)视图是用户看到并与之交互的界面。包括HTML、MacromediaFlash和象XHTML,XML/XSL,WML等一些标识语言和Webservices.3、控制器(Controller)控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后用确定用哪个视图来显示模型处
57、理返回的数据。总结MVC的处理过程,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。使用MVC最明显的好处是把处理数据的对象与显示数据的对象分离开,减小了对象间的耦合度。对于日后系统的功能扩展与修改提供了最大的适应度,进行责任分类也减少代码的重复,使系统更容易维护。但是我们需要花费相当可观的时间去考虑如何将MVC运用到应用程序,同时由于模型和视图要严格的分离,这样也给调试应用程序到来了一定的困难。使用MVC同时也意味着我们需要管理比以前更多的文件,增加了我们开发的工作量
58、。Java开发Web Application有几种符合MVC设计模式的开发方式。1: Jsp+Servlet+JavaBean (EJB)2: Jsp+JavaBean (Controller) + JavaBean (EJB)(Model)3: TDK(Turbine,Velocity.)4: Xsp5: Jsp+Struts+JavaBean (EJB)本设计使用的是JSP + Servlet + JavaBean 的MVC设计模式进行开发。2.4 数据库连接池连接池技术的核心思想是:连接复用,通过建立一个数据库连接池以及一套连接使用、分配、管理策略,使得该连接池中的连接可以得到高效、安全
59、的复用,避免了数据库连接频繁建立、关闭的开销。另外,由于对JDBC中的原始连接进行了封装,从而方便了数据库应用对于连接的使用(特别是对于事务处理),提高了开发效率,也正是因为这个封装层的存在,隔离了应用的本身的处理逻辑和具体数据库访问逻辑,使应用本身的复用成为可能。连接池主要由三部分组成:连接池的建立、连接池中连接的使用管理、连接池的关闭。图2-6连接池(1) 连接池的建立图2-6连接池应用程序中建立的连接池其实是一个静态的。所谓静态连接池是指连接池中的连接在系统初始化时就已分配好,且不能随意关闭连接。在系统初始化时,根据相应的配置创建连接并放置在连接池中,以便需要使用时能从连接池中获取,这样
60、就可以避免连接随意的建立、关闭造成的开销。(2) 连接池的管理连接池管理策略是连接池机制的核心。当连接池建立后,如何对连接池中的连接进行管理,解决好连接池内连接的分配和释放,对系统的性能有很大的影响。连接的合理分配、释放可提高连接的复用,降低了系统建立新连接的开销,同时也加速了用户的访问速度。(3) 连接池的关闭当应用程序退出时,应关闭连接池,此时应把在连接池建立时向数据库申请的连接对象统一归还给数据库(即关闭所有数据库连接),这与连接池的建立正好是一个相反过程。(4) 连接池的配置数据库连接池中到底要放置多少个连接,才能使系统的性能更佳,用minConn和maxConn来限制。minConn
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 放射师考试题及答案
- 防暑知识考试题及答案
- (正式版)DB15∕T 3672-2024 《设施蔬菜秸秆原位还田技术规程》
- (正式版)DB15∕T 3657-2024 《香菇干燥技术规程》
- 毒贩刑侦考试题及答案
- 项目管理进度报告模板项目风险与资源管理
- (正式版)DB15∕T 3281-2023 《骆驼绒纤维外观形态图谱》
- 知识产权保护宣言及承诺书(9篇)
- 临川护理三基考试题库及答案
- 商业合同审查与修订工作指引
- 地沟更换管线专项施工方案
- 两段炉讲座课件
- 泵送式桥塞与射孔联做技术介绍n课件
- 海南省危房改造对象认定表
- GB/T 8295-2008天然橡胶和胶乳铜含量的测定光度法
- 生产作业管理讲义
- 诗和词的区别课件
- 战现场急救技术教案
- 内蒙古电网介绍
- 气力输送计算
- 公共关系学授课教案
评论
0/150
提交评论