本章要点
- B/S结构编程技术介绍。
- 软件项目开发流程。
- SunnyBuy电子商城项目分析与设计。
- SunnyBuy电子商城项目部署和运行。
- SunnyBuy电子商城项目主要技术分析。
1.1 B/S结构编程技术
随着网络技术和软件技术的发展,各种软件架构和网络计算模式不断出现,其中,C/S(Client/Server,客户端/服务器)模式和B/S(Browser/Server,浏览器/服务器)模式是网络计算模式中使用最多的两种计算模式。什么是C/S模式?什么是B/S模式?两种模式有何特点和优缺点?它们各自适合在什么时候使用?本节将进行具体说明。
本节要点
- 了解C/S和B/S编程技术以及两种技术的比较。
- 了解B/S编程技术的特点以及常用的B/S编程技术。
- 了解静态网页和动态网页的概念及其区别。
- 掌握JSP编程技术的特点。
1.1.1 案例1 C/S模式和B/S模式比较
【设计要求】
熟悉C/S模式和B/S模式,了解其各自的特点和应用领域。
【学习目标】
(1)了解C/S模式和B/S模式及其优缺点。
(2)熟悉C/S模式和B/S模式的应用领域。
【知识准备】
1.C/S模式
C/S模式,即Client/Server(客户机/服务器)结构,是最常用的软件系统体系结构之一,例如,我们常用的QQ聊天软件。C/S结构的程序功能分别由服务器和客户机协作完成,一部分功能在客户端实现,另一部分功能在服务器端实现,通过将任务合理分配到Client端和Server端,可以充分利用客户端和服务器端的硬件环境优势,降低整个系统的通信开销,提高系统执行效率。
传统的C/S体系结构采用客户端和服务器分离的模式,虽然能够充分发挥客户端和服务器端的优势,并充分利用客户端的计算资源,但客户端往往需要一些特定的软件环境支持,并需要独立安装和更新客户端,甚至还要针对不同的操作系统开发不同的客户端版本,因此,C/S体系结构的系统在开发、部署、更新方面效率不高,代价较大。
C/S体系结构如图1-1所示。
2.B/S模式
B/S模式,即Browser/Server(浏览器/服务器)结构。随着Internet技术的发展,以及对C/S结构的不断改进,客户端软件便统一为浏览器。在B/S结构下,用户通过浏览器来访问服务器端的应用,极少部分的功能在前端(Browser)实现,主要业务逻辑在服务器端(Server)实现,这样就大大降低了客户端电脑的荷载;将系统全部部署在服务器端,系统部署、维护与升级的成本和工作量也大大降低,从而既降低了用户的总体成本,也提高了工作效率。
在B/S体系结构系统中,用户通过浏览器向网络上的服务器发出请求,服务器对浏览器的请求进行处理,将用户所需要的信息返回浏览器。B/S结构程序简化了客户端工作,将大部分工作都放在服务器上完成,这样虽然降低了对客户端电脑的要求,但对服务器端来说,却负担了更多的工作,增大了压力,也使得客户端的计算资源遭到浪费。
B/S体系结构如图1-2所示。
【实施过程】
1.C/S模式和B/S模式在开发维护方面的比较
C/S模式对不同的客户端需要开发不同的程序,而且应用程序的部署、修改和升级,均需要在所有的客户端上进行,维护成本很高。B/S客户端只需要通过通用的浏览器进行访问,不需要安装专门的客户端,所有的安装与升级工作都是在服务器上进行,无需在客户端上进行任何工作,因而大大降低了开发和维护成本。
2.C/S模式和B/S模式客户端负载的比较
C/S模式的客户端具有显示数据与处理数据的功能,负载较重。随着客户端承担的工作越来越多,系统的功能越来越复杂,客户端应用程序也越来越庞大。B/S模式的客户端把大部分事务处理逻辑都放在了服务器上,客户端只需要进行显示,负载较轻。
3.C/S模式和B/S模式用户界面的比较
C/S模式的用户界面是由客户端应用程序决定的,用户界面可以有很大差别,甚至不同客户端版本的用户界面也不相同,因此,对客户的培训和使用要求较高。B/S模式通过通用的浏览器访问服务器程序,浏览器显示的用户界面都是最新版本的,界面显示形式也很统一,从而大大降低了培训和使用要求。
4.C/S模式和B/S模式可移植性的比较
C/S模式的程序客户端需要针对不同的操作系统进行开发,移植比较困难,不同开发工具开发的应用程序,一般来说互不兼容,难以移植到其他平台上运行。B/S模式的客户端是通过通用浏览器来显示和使用的,不存在移植性的问题。
5.C/S模式和B/S模式安全性的比较
C/S模式由于有专用的客户端,并适合大规模和复杂的客户端加密运算,因此,C/S模式总体上在安全性方面较好,并可用于安全性要求较高的专用应用软件上。B/S模式则适用于交互性较多,使用人数较多,安全性要求不是很高的应用软件上。
通过对比,我们发现两种开发模式都是网络环境下的开发模式,B/S相对C/S具有更多的优势,因此,当前大量的应用都已经或正在转移到B/S应用模式,也使越来越多的软件开发人员投身到B/S模式软件研发中。
【案例总结】
通过本案例我们了解了C/S模式和B/S模式程序的特点和它们各自的优缺点,我们可以根据实际项目的需要选择适合的程序架构,可以是C/S模式,也可以是B/S模式,或者C/S和B/S混合模式,从而充分发挥出应用系统最大的应用价值。
1.1.2 案例2 B/S模式技术
【设计要求】
了解B/S模式的典型技术,熟悉JSP技术特点。
【学习目标】
(1)了解B/S模式的典型技术,包括:CGI技术、ASP技术、PHP技术、JSP技术等。
(2)熟悉JSP技术的特点和比较优势。
【知识准备】
1.CGI技术
CGI(通用网关接口)技术是一种古老的服务器端Web技术。CGI程序可以用大多数高级语言来编写,如C/C++/VC++、Java、C#、Delphi等,CGI程序非常灵活,能支持几乎所有的Web应用需求。
CGI程序实现Web应用也有很多缺点,其中最大缺点就是执行效率不高,每当有Web服务请求关联到CGI程序时,CGI程序就会创建一个完整的新线程,每个这样的新线程,都需要申请它自己的环境变量集等一系列资源来满足Web服务请求对资源的需求,当服务器接收到大量的Web服务请求并转交给CGI程序处理时,系统的软硬件资源很快就会消耗殆尽,从而使得CGI程序所运行的服务器负载很重,效率不高。
2.ASP技术
ASP技术全称是Active Server Pages,它是一个常用的Web应用程序编写技术,利用它可以编写动态的、交互的、高性能的Web服务应用程序。ASP采用脚本语言VBScript、JavaScript等简单易懂的脚本语言作为Web应用程序的开发语言,并结合HTML代码,可以快速地完成Web应用程序的编写。
编写好的ASP应用程序无需编译就可以在服务器端直接执行。在代码编写环境方面也无特殊要求,使用普通的文本编辑器,如Windows的记事本,就可以进行ASP应用程序的编辑和设计。
编写好的ASP应用程序在运行时与浏览器无关(Browser Independence),客户端只要使用可执行HTML代码的浏览器,就可以浏览ASP技术所设计的网页内容。ASP技术编写的Web应用程序均在Web服务器的容器内执行,客户端的浏览器不需要执行ASP脚本代码,因此,对客户端硬件要求也更低。
结合ActiveX Server Components(ActiveX服务器组件)技术,使得ASP技术具有无限的可扩展性。可以使用Visual Basic、Java、Visual C++、Delphi等程序设计语言来编写所需要的ActiveX Server Components,从而获得更加丰富的功能。
虽然ASP技术简单易用,功能强大,但是ASP技术的安全性一直受到人们的质疑,而且ASP技术编写的应用系统只能工作在微软公司的操作系统下,所以在大型的电子商务、电子政务、金融系统的应用上受到限制。此外,ASP技术的代码是HTML及JavaScript等代码的混合,给应用程序的编写和维护带来不便,特别是对大规模应用程序的编写和维护。
3.PHP技术
PHP技术是一种跨平台的Web应用程序编写技术。它大量地借用C、Java等语言的语法,并结合PHP技术自己的特性,使开发者能够快速地使用PHP技术构建动态Web应用程序。PHP技术是开源的,并且是完全免费的,可以从PHP官方网站(http://www.PHP.net)自由下载PHP技术所有的源代码和各种支持资料。
PHP技术具有很好的跨平台性,使用PHP技术开发的Web应用程序可以运行在多种平台上,包括微软公司的IIS服务器,以及Linux系统下的Apache服务器等,但在实际应用中,PHP技术同Apache服务器结合得更多。
PHP技术能够支持包括Oracle、MySQL、Sybase等多种数据库,但PHP技术与MySQL数据库的结合才是当前最流行的搭配。PHP技术的开源性,使得PHP技术被众多公司修改和应用,也正因为此,PHP技术没有形成一套完整的企业应用解决方案,在开发大型的电子商务、电子政务、金融系统应用方面效率不高是PHP的一个弱点。
4.JSP技术
JSP是Java Server Pages的缩写,它是由Sun公司推出的Web应用开发技术,Sun公司借助自己在Java上的非凡造诣,将Java程序应用范围进行扩展,形成JSP技术。JSP技术可以在Servlet技术和JavaBean技术的支持下,完成功能强大的Web应用程序构建。
JSP技术是开源的,也是跨平台的,它通过在静态网页(HTML网页)文件(后缀.htm或.Html)中插入Java程序段和JSP标记,形成JSP文件,后缀名为.jsp,从而将Java强大的特性引入到JSP技术中。
JSP因其易学易用、功能强大的特点已经成为当今最流行的Web编程技术,它正在被广泛地应用于电子政务、电子商务及各行业的软件中。
【实施过程】
通过对常用的B/S模式的典型技术进行对比分析可知,JSP技术具有如下优势。
1.跨平台,运行高效率
JSP程序可以在任意平台上进行开发,开发完成后又可以在任意平台上进行部署。JSP作为Java平台的一部分,拥有Java程序设计语言“一次编写,各处执行”的特点。
JSP程序运行比CGI程序等都要高效,当用户向Web服务器发起请求时,服务器只需简单使用一个新的线程来处理请求,这种方法提高了执行效率。设计良好的Web服务器,还能够使用线程池来控制用于用户请求的线程数量,以实现负载均衡。
2.业务逻辑和显示分离
使用JSP技术后,Web页面开发人员可以使用HTML或者XML代码来设计和格式化最终页面。使用JSP脚本来产生页面上的动态内容,产生内容等业务逻辑被封装在JavaBeans组件中,所有的脚本在服务器端执行,使Web管理人员和页面设计者等人员,能够编辑和使用JSP页面,而不影响内容的产生。这种显示和业务逻辑分类的有利于提高系统的开发效率,降低系统维护难度,同时也有助于作者保护自己的代码。
3.可重用组件提高开发效率
可以使用Java开发很多JavaBeans组件,这些组件都可以被JSP页面使用,开发人员能够积累、共享和交换这些组件,也使得这些组件可以为更多的使用者或者用户团体所使用。基于组件的方法加速了项目总体的开发进程,提高了开发效率。
4.可扩展标签库简化页面开发
JSP中定义了很多的标签,使Web页面开发人员可以非常方便地开发JSP页面。JSP标签中也封装了许多功能,可以很方便地配合JavaBeans组件,快速实现一些功能。此外,也可以开发定制化标签放入标签库,从而扩展JSP的标签库,当前也有很多第三方的JSP标签库供使用,结合自己积累的标签,可建立自己的常用标签库,从而简化页面开发,提高开发效率。
5.支持企业级应用的完整解决方案
JSP技术很容易被整合到多种应用体系结构中,以利用现存的工具和技巧。JSP技术已扩展到能够支持企业级的分布式应用。
作为采用Java技术家族的一部分,以及Java2EE的一个成员,JSP技术能够支持高度复杂的基于Web的应用。由于JSP页面的内置脚本语言是基于Java程序设计语言的,而且所使用的JSP页面都被编译为Servlet,JSP页面就具有Java技术的所有好处,包括“健壮”的存储管理和安全性。
【案例总结】
通过本案例我们了解了B/S模式的典型技术,包括:CGI技术、ASP技术、PHP技术、JSP技术等,并比较和总结了JSP技术具有的特点和优势。JSP技术的优势和广泛应用,使得学习JSP技术具有广阔的就业前景。
1.1.3 案例3 静态和动态网页
【设计要求】
了解什么是Web网页,什么是静态网页,什么是动态网页;比较静态网页和动态网页的异同。
【学习目标】
(1)了解什么是Web网页,什么是静态网页,什么是动态网页。
(2)熟悉静态网页和动态网页的异同。
【知识准备】
1.Web网页
Web网页简单来说就是因特网(Internet)上的一个按照HTML格式组织起来的文件,在显示时以页面的形式出现,其中可包括文字、图片、声音和视频等信息。
Internet已经得到了广泛的应用,当大家在浏览器上输入网址进入网站之后,第一个看到的Web页面就是该网站的主页,主页通常用来作为一个站点的目录或索引,通过主页我们可以进入二级或三级页面,而Web网站是一组相关网页的集合。
通过Internet,我们可以浏览全世界的Web网站上的Web页面,Web页面以超文本传输协议(Hyper Text Transfer Protocol,HTTP)为基础协议进行数据传输。Web网站保存在Web服务器中,并以一个个Web页面文件的形式储存,而这些页面则采用超文本标记语言(Hyper Text Markup Language,HTML)来对信息进行组织,并通过超级链接将它们链接起来。
2.Web网页的访问过程
通过笔记本电脑、台式电脑、掌上电脑、手机等各种终端设备可访问Web网站,访问Web网站时需要有一个Web浏览器软件,例如,Microsoft公司的Internet Explorer浏览器、Google公司的Chrome浏览器等。在浏览器的地址栏中输入要访问的Web页面的网址,DNS(域名服务器)服务器会把要访问的网址指向Web页面所在的服务器,服务器接收到客户的请求后查找用户指定的Web页面,如果没有找到该页面,就返回一个错误信息;否则将该页面的内容返回给浏览器,浏览器接收到服务器发送的内容后,便将其显示,从而使用户能够看到Web网页。
3.静态页面
静态页面是用HTML代码直接编写而成的Web页面,静态页面的文件是保存为扩展名为.html或.htm的文件。静态页面的内容和外观是固定不变的,它不会考虑谁在访问页面、何时访问页面、如何进入页面、第几次访问页面,以及其他因素,因此,静态页面是在用户访问Web页面之前,作者已经用HTML代码完全确定了具体内容和外观,不会再发生内容和外观方面的变化的页面。
4.动态页面
随着Internet的发展,静态页面已经不能满足人们的需要,人们想从Internet上获取更多的信息,期望能够在浏览Web页面时看到更为吸引人的页面以及信息。我们访问Internet上同一个Web站点的同一个页面时,会发现不同的时间访问,页面上呈现的内容不同,当我们再次浏览该页面时,上次访问过的历史信息(我的足迹)会被列出来,甚至是我们可能会感兴趣的信息都会被放到显著的位置。特别是由于电子商务的发展,人们需要更为灵活的、及时的互动Web技术,所有的这一切只有动态页面能做到。
动态页面就是指在静态页面的基础上,在网页内含有在服务器端执行的程序代码,当客户端向服务器端提出请求时,程序的代码会先在服务器端执行,然后再将Web页面执行的结果传送给浏览器。动态页面的内容会随着代码在服务器上的执行而随时变化。
【实施过程】
我们了解了Web网页,并了解静态页面和动态页面的基本特点,接下来我们比较一下静态页面和动态页面的异同,如表1-1所示。
【案例总结】
通过本案例我们了解了什么是Web页面,了解了静态页面和动态页面的特点,比较了静态页面和动态页面的异同,为我们学习JSP技术奠定了一定的基础。
1.2 SunnyBuy电子商城项目
网络购物是一种新的、发展迅速的消费模式,各类电子商城、网上商店大量存在,电子商城项目应用广泛。作为软件项目开发的学习者,电子商城项目使用的技术较多,可以对所学技术进行充分实践,因此,本课程选用一个典型的电子商城项目——SunnyBuy电子商城项目作为课程案例,该项目将贯穿本课程学习的始终。
本节要点
- 软件项目开发流程。
- 项目需求分析、系统设计、数据库设计、项目部署方法。
- SunnyBuy电子商城项目的需求分析、系统设计和数据库设计。
- SunnyBuy电子商城项目的部署和运行。
1.2.1 案例4 软件项目开发流程
【设计要求】
熟悉软件项目开发流程。
【学习目标】
(1)了解一般软件项目开发流程。
(2)明确SunnyBuy电子商城项目开发过程。
【知识准备】
1.软件开发流程
软件开发流程就是软件设计和实现的一般过程,是包括软件的需求分析、系统设计、代码实现、软件测试和软件部署等在内的一个完整的过程。
2.软件项目开发环节
在软件项目开发流程中,需求分析主要就是全面地理解用户的各项要求,并准确地表达所接受的用户需求,从而使软件功能与客户达成一致,并最终形成需求分析说明书。需求分析过程中需要用到项目调研表和需求变更表等辅助表格。
系统设计主要是根据需求分析阶段所确定的用户需求进行项目的层次结构划分、数据库的结构设计和重点模块的业务流程绘制。系统设计过程中需要完成系统设计说明书、数据库设计说明书和UI界面规划设计。
代码实现主要是根据系统设计的结果进行具体的编码工作,为了确保编码的进度,需要制订项目开发计划进度表,并辅以项目开发动态跟踪表。
编码工作进行过程中或者编码工作完成之后,我们可以进行项目测试,在项目测试之前需要编写项目测试计划,在项目测试过程中需要设计测试用例,报告测试问题,最终形成测试报告。
通过测试的软件项目才可以交付客户使用,这就需要进行软件项目的部署,在项目部署之前需要编制部署实施计划,并完成用户使用手册和项目总结报告。
至此,一个软件项目就开发完成了。
软件项目开发的具体流程如图1-3所示。
【实施过程】
SunnyBuy电子商城项目的开发同样需要按照软件项目开发流程进行,第一步是进行需求分析,并形成需求分析说明书——《SunnyBuy电子商城项目需求分析说明书》;第二步是根据需求分析说明书进行系统设计,形成系统的模块划分方案和UI界面设计方案,并完成系统的数据库设计,在系统设计阶段的成果就是形成《SunnyBuy电子商城项目系统设计说明书》和《SunnyBuy电子商城项目数据库设计说明书》;第三步是按照系统设计的结果进行代码实现,在代码实现阶段主要包括UI界面设计实现和Java Web代码实现,代码实现阶段的主要成果就是完整的项目源代码;第四步是进行软件测试,在代码实现过程中以及代码完成之后需要对项目的各个模块和整个项目进行测试,并编制《SunnyBuy电子商城项目测试报告》;第五步是将完成的项目部署到服务器上,供客户测试和试用。
【案例总结】
通过本案例我们了解了软件项目开发的一般过程,明确了SunnyBuy电子商城项目的开发过程和各个阶段需要形成的成果。
1.2.2 案例5 SunnyBuy电子商城项目分析与设计
【设计要求】
从软件工程角度对SunnyBuy电子商城项目进行分析与设计。
【学习目标】
(1)了解SunnyBuy电子商城的需求分析。
(2)了解SunnyBuy电子商城的数据库设计。
(3)了解SunnyBuy电子商城的系统设计。
【知识准备】
1.项目需求分析
软件项目的需求分析就是明确软件项目需要“做什么”和需要完成什么功能的过程,包括需要输入什么样的数据,进行什么样的运算,要得到什么样的结果,最后应输出什么结果等内容。
一般采用座谈法、问卷法、查资料法、亲身体验法等获取项目的需求。
2.软件项目的系统设计
软件项目的系统设计就是根据项目的需求分析结果对软件项目的模块进行划分、对数据结构进行设计,对模块内部的控制流程进行设计,系统设计包括概要设计和详细设计两个步骤。
3.软件项目的数据库设计
数据库设计是系统设计的一部分,主要是指在需求分析的基础上,在选定的数据库管理系统的基础上,设计适合软件项目需求的数据库结构,以及建立物理数据库。
【实施过程】
按照项目需求分析方法,对SunnyBuy电子商城项目的需求分析结果如下。
1.系统前台需求
(1)用户注册和登录
未登录用户只能在系统中查看商品信息,不能进行商品的订购;注册会员登录系统后可以进行查看商品和购物操作。
注册会员登录后还可以修改自己的账号、密码等个人信息;已登录的用户在购物过程中或购物结束后,可以注销自己的账号,以保证账号的安全。
(2)商品展示、搜索和购买
通过商品的分类浏览、商品列表、新品上架、特价商品、搜索功能搜索到的商品入口等,都可以了解商品的基本信息;通过商品详细信息页面可以了解商品的详细情况;如果用户已登录,也可以订购商品,将该商品放入购物车。
(3)购物车/订单
可以在登录系统后将自己需要的商品放入购物车中,在确认购买之前,可以对购物车中的商品进行二次选择。在用户确认购买后,按照商品购买流程,系统会生成购物订单,在“我的宝贝”功能中可以随时查看自己的订单和购物车信息,结过账的商品应从购物车中删除。
(4)在线留言
通过系统提供的留言板功能,可以将自己对网站的服务情况和网站商品信息的意见进行反馈。
(5)通知公告
通过通知公告栏目可以及时了解网站发布的一些公共信息,如打折资讯、新品上架、系统维护公告等。
2.后台管理系统需求
(1)订单管理
可以对订单信息进行处理,包括根据订单情况通知配送人员进行商品配送等。
(2)公告通知
可以对显示在前台的通知公告信息进行增、删、改、查等管理操作。
(3)用户管理
可以对系统注册会员的信息进行维护(如会员账户密码丢失等),同时也可以完成会员信息查询功能。
(4)在线留言
可以对前台留言进行查看、删除、回复等操作。
(5)商品和商品类别管理
可以维护商品信息,也可以新增、修改和删除商品类别信息。
(6)链接管理
可以维护前台页面中显示的友情链接信息。
(7)管理员管理
根据需要添加、修改或删除后台系统的管理员,也可以修改密码等基本信息。
3.对项目进行概要设计和详细设计
在完成需求分析后,需对项目进行概要设计和详细设计,在此处给出SunnyBuy电子商城的项目结构图,如图1-4所示。
4.保存数据
按照数据库设计的方法,SunnyBuy电子商城项目的数据库设计结果为如表1-2~表1-10所示的9张数据库表。本项目使用Oracle数据库保存数据。
【案例总结】
开发一个项目,需要经过需求分析、系统设计、数据库设计、编码、测试及部署运行,在此案例中,我们对SunnyBuy电子商城进行了需求分析、系统设计和数据库设计。
1.2.3 案例6 项目部署和运行
【设计要求】
熟悉Java Web程序部署的一般步骤和注意事项,完成SunnyBuy电子商城项目的部署和运行。
【学习目标】
(1)了解Java Web程序部署的一般步骤。
(2)能熟练完成SunnyBuy电子商城项目的部署和运行。
【知识准备】
1.Java Web程序部署的一般步骤
Java Web程序一般需要部署到Tomcat等服务器上运行,其一般步骤如下。
(1)将Java Web程序拷贝到Tomcat安装目录下的“webapps”文件夹中。
(2)将数据库表和初始化数据装载到Oracle数据库中。
(3)修改Java Web程序中的数据库连接配置文件。
(4)启动Tomcat服务器。
2.Java Web程序部署的注意事项
在将Java Web程序部署到Tomcat服务器的过程中,需要注意以下几个方面。
(1)启动Tomcat服务器,可以在浏览器网址处输入http://localhost:8080,测试Tomcat服务器是否运行正常。
(2)Java Web程序的数据库表和测试数据需要导入到一个数据库中,可以新建一个新的数据库,也可使用已有数据库。
(3)需要修改以.properties为扩展名的数据库连接配置文件,主要修改jdbcurl、userName、password三个属性。
(4)对复制到Tomcat服务器的Java Web程序进行修改后,需要重新启动Tomcat服务器。
【实施过程】
按照Java Web程序部署的一般步骤,SunnyBuy电子商城项目的部署步骤如下。
(1)解压缩sunnyBuy.rar文件。
(2)将SunnyBuy文件夹下的“WebRoot”文件夹改名为“sunnyBuy”,并将其复制到计算机硬盘上Tomcat安装目录下的“webapps”文件夹中。
(3)使用SQL Developer,连接到Oracle的默认数据库orcl,执行“sunnyBuy_db.sql”文件中的数据库脚本,创建数据库表和初始化系统数据。
(4)打开WEB-INF文件夹下的“classes”子文件下的“oracle.properties”文件,修改其中的jdbcurl、userName、password信息,代码如下。
(5)启动Tomcat服务器。
(6)在浏览器地址栏中输入http://localhost:8080/sunnyBuy/,即可进入系统前台首页,首页效果如图1-5所示。
(7)浏览器地址栏中输入http://localhost:8080/sunnyBuy/admin/,输入管理员账号和密码,即可进入后台管理页面,后台登录页面效果如图1-6所示。
【案例总结】
项目部署和运行是软件项目开发的最后一个环节。通过本案例我们了解了Java Web程序部署和运行的一般步骤以及相关的注意事项,并通过SunnyBuy电子商城项目对部署和运行步骤和方法进行了实践。
1.3 项目开发技术分析
前面已经学习了软件项目开发的基本流程,特别是软件项目开发流程、需求分析、系统设计、数据库设计、部署和运行等环节。软件项目的开发不仅需要从总体上把握开发过程,还需重点关注开发过程中需要使用的主要技术,这一小节我们主要来了解一下SunnyBuy电子商城项目开发所需的部分主要技术。
本节要点
- SunnyBuy电子商城项目开发所需的主要技术。
案例7 项目主要技术分析
【设计要求】
了解使用Java Web技术开发SunnyBuy电子商城项目所需的主要技术。
【学习目标】
(1)了解MVC模式。
(2)了解JSP技术。
(3)了解Servlet技术。
(4)了解JavaBean技术。
(5)了解JDBC数据库连接和操作技术。
【知识准备】
1.MVC模式
MVC(Model View Controller)是模型(Model)、视图(View)、控制器(Controller)的缩写,MVC是一种软件设计模式,需要在项目开发过程予以遵循。在MVC模式中,View表示用户看到并与之交互的界面,Model表示数据和业务规则,Controller则负责接收用户输入的数据,并调用模型和视图去完成用户的请求,因此,Controller是Model和View的协调员。使用MVC模式的好处就是将业务逻辑和数据显示进行分离,从而使软件项目的耦合度降低,重用性提高,但MVC模式结构比较复杂,在开发小项目时并没有优势。
2.JSP技术
JSP(Java Server Pages)实现了HTML语法和Java代码的混合编程(以<%, %>形式),有了Java代码的加入,极大地扩充了HTML页面的功能和应用范围,也使得编写动态网页非常方便。JSP页面也是在服务器端执行,返回给客户端的也是一个HTML文本,因此客户端只要有浏览器就能浏览。
JSP技术中有一些内置对象可以扩充JSP页面的功能,其中包括request、response、out、session、application、config、page等,它们在实际项目开发中应用广泛。
3.Servlet技术
Servlet是运行在服务器上的Java小程序,主要负责处理客户端发送的请求。当客户端发送请求至服务器时,服务器就将请求信息转发至Servlet,Servlet接收到请求后进行执行,生成响应内容(主要是HTML页面)并将其传给服务器,再转发给客户端,从而实现对客户端请求的响应。
4.JavaBean技术
JavaBean是一种使用Java代码编写而成的可重用组件。在实际项目开发过程中,数据库访问和一些业务功能可能在很多地方使用,我们就可以使用JavaBean技术将这些功能创建成Bean,在需要的时候直接调用,从而提高代码复用率,提高开发效率。
5.JDBC数据库连接和操作技术
JDBC(Java Data Base Connectivity)是一种用于执行SQL语句的Java API,其中包括一些实用的类和接口,通过这些类和接口,我们可以很方便地访问和操作多种关系数据库。在实际应用项目开发中,连接和操作数据库往往不可避免,因此,我们将会经常使用JDBC技术。
【实施过程】
SunnyBuy电子商城项目的开发将会综合应用JSP技术、Servlet技术、JavaBean技术,其中,首页、商品展示页面等各个前台页面的开发使用JSP技术,用户登录、商品购买等业务逻辑处理采用Servlet技术,数据库连接等复用功能使用JavaBean技术做成组件,并采用MVC模式进行开发。项目使用Oracle数据库管理系统存储数据,因此,数据库连接和操作将要使用JDBC技术。
【案例总结】
JSP技术、Servlet技术、JavaBean技术、MVC模式、JDBC数据库连接和操作技术是Java Web程序设计课程的重点内容,也是使用Java技术开发软件项目所需的基本技术和方法,通过本案例有了初步了解之后,我们将在后续章节中逐步学习。
1.4 小 结
本章主要讲解了以下3部分内容。
1.B/S编程技术
包括C/S模式和B/S模式的特点、B/S模式的主要技术、静态网页和动态网页的特点。
2.SunnyBuy电子商城项目
包括软件项目开发流程、项目需求分析、系统设计、数据库设计、部署和运行。
3.项目开发技术分析
包括JSP技术、Servlet技术、JavaBean技术、MVC模式、JDBC数据库连接和操作技术。