JSP项目设计课程课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《JSP项目设计课程课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JSP 项目 设计 课程 课件
- 资源描述:
-
1、第十一讲第十一讲 JSP项目设计项目设计10课时课时(450分钟分钟)本课目标本课目标 理解电子书城的基本设计思想理解电子书城的基本设计思想 熟悉系统需求分析、系统功能模块设计、系统界面设计、熟悉系统需求分析、系统功能模块设计、系统界面设计、系统主要流程设计、数据库设计和详细设计系统主要流程设计、数据库设计和详细设计 知识知识 理解电子书城的基本设计思想理解电子书城的基本设计思想 结合其他相关课程中学习到的软件开发生命周期的相关内结合其他相关课程中学习到的软件开发生命周期的相关内容,进一步明确本书的学习目标。容,进一步明确本书的学习目标。技能技能u1.电子书城总体设计 u2.系统数据库设计 u
2、3.系统基本框架u4.各功能模块的设计与实现 u5.部署和发布系统 主要内容主要内容网上书店也是JSP技术在电子商务上的应用,用户可以通过浏览器访问系统、订购图书,对系统的管理也是通过浏览器来完成的。1、系统功能及模块 用户注册:用户在网上书店订购图书前,必须注册用户。网上购物:注册用户可以查看书店中有哪些图书,并确定订购哪些图书,可以反复订购。查看以前用户订单:注册用户登录系统后,可以查看、修改用户信息,也可以查看以前在网上书店订购的图书。1、网上书店总体设计、网上书店总体设计l 系统管理与维护:这是系统管理员的工作,要求能够添加、修改、删除图书等。系统功能模块如下图所示:系统功能模块系统功
3、能模块1、网上书店总体设计、网上书店总体设计 2、系统实现方案 本系统采用B/S(浏览器/服务器)数据库应用体系结构。整个系统采用JSP+JavaBean模式,其中,JavaBean主要用来封装连接数据库、执行SQL语句等功能。JSP容器(服务器)则采用Tomcat 5.0。后台数据库管理系统则采用SQL Server 2000。1、网上书店总体设计、网上书店总体设计1、数据表分析 分析功能要求,本系统后台数据库设计4个表。2、系统数据库设计、系统数据库设计2、系统数据库设计、系统数据库设计接下来创建数据库和数据表。数据库名为bookshop。2、系统数据库设计、系统数据库设计网上书店的基本结
4、构如下所示:系统基本结构图系统基本结构图3、系统基本框架、系统基本框架系统程序目录结构图系统程序目录结构图3、系统基本框架、系统基本框架1、公共模块设计公共模块中一共有4个JSP文件和一个CSS文件:“common.jsp”、“check.jsp”、“header.jsp”、“footer.jsp”和“style.css”。其中,“style.css”文件与第10章中相同文件类似,不作介绍,下面介绍其他4个文件。common.jsp“common.jsp”文件包含其他JSP文件中需要导入的Java类和包以及系统各页面要使用的日期。4、各功能模块的设计与实现、各功能模块的设计与实现l程序除了将常
5、用的Java包和类包含进来外,还将自定义包bookshop包含进来,这个包中有3个JavaBean程序:DBConnectionManager、DBSQLManager和Book,后面将会详细介绍这3个JavaBean程序。l值得注意的是,程序定义了两个String类型变量:dateString和_dateString,前者是表示当前系统日期,后者表示当前系统日期时间,这两个变量将在网上书店的其他JSP文件中使用。lcheck.jspl用来判断系统用户是否登录,防止非法用户登录到系统对系统进行破坏 4、各功能模块的设计与实现、各功能模块的设计与实现代码如下:header.jsp和footer.
6、jsp 为了使网上书店的所有页面具有统一的风格,把页面头和尾的代码分开,分别放在单独的JSP文件中。4、各功能模块的设计与实现、各功能模块的设计与实现在其他页面中使用时,利用include指令将它们包含进来即可。这是开发一个大型、实用的Web应用常用的方法,可以简化页面的重复代码,也为以后的管理和维护工作提供了方便。header.jsp和footer.jsp就是这样的两个文件。如果其他JSP文件要使用它们,可利用如下语句将它们包含进来:4、各功能模块的设计与实现、各功能模块的设计与实现2、网上书店主界面 用户打开网上书店首先见到的页面,通过该页面,用户可以注册用户、登录系统、查看最新消息,系统
7、管理员也可以通过主页面进入到后台管理系统。主界面主界面4、各功能模块的设计与实现、各功能模块的设计与实现3、建立与数据库相关的JavaBean 在上个实例中,使用一个单独的JSP文件“connectdb.jsp”来连接数据库。由于连接数据库的操作在JSP程序中用得较多,并且是一项很消耗系统资源的操作,所以本章实例把这个操作写成JavaBean。DBConnectionManager.java需要注意如下几点:程序定义了驱动类型名称变量driverName和连接字符串变量url,并给它们赋初值,表示当前连接数据库bookshop。getConnection()方法用于获得数据库连接实例。4、各功
8、能模块的设计与实现、各功能模块的设计与实现程序的包名为bookshop,其他JavaBean类的包名也是bookshop。使用如下命令编译程序:javac DBConnectionManager.java 得到类文件DBConnectionManager.class 除了连接数据库操作外,在程序中经常会执行指定的SQL语句,所以也可以将这个操作编写为JavaBean。编写JavaBean程序DBSQLManager.java,说明如下:4、各功能模块的设计与实现、各功能模块的设计与实现程序中要使用类DBConnectionManager,所以要将其包含进来。直接写如下语句:import boo
9、kshop.*;在构造方法中,声明了一个DBConnectionManager对象,用来建立与数据库bookshop的连接,并生成Statement对象。方法executeQuery()用来执行SQL查询语句,返回的ResultSet对象,并赋值给成员rs。方法executeUpdate()用来执行INSERT、DELETE和UPDATE语句。在编译DBSQLManager.java时,要将DBConnectionManager.class文件放置在DBSQLManager.java所在目录的子目录booshop下。4、各功能模块的设计与实现、各功能模块的设计与实现l4、【用户注册】模块l用户
10、在网上书店订购图书前,需要注册用户。用户注册系统共有两个JSP文件:“register.jsp”和“adduser.jsp”lregister.jsp l定义一个表单以及相关输入框,用于用户输入注册信息。填写完毕,用户单击【注册】按钮,程序会检验用户名和密码的位数是否符合要求以及两次输入的密码是否一致。ladduser.jsp l提交表单后,进入“adduser.jsp”页面,将用户信息存入数据库。4、各功能模块的设计与实现、各功能模块的设计与实现5、网上购书子系统session对象的作用是记录每个客户端的访问状态,以便跟踪每个客户端的操作状态。在网上购书子系统中,使用session对象可以跟
11、踪用户购书操作,本实例中要充分利用session对象。booklist.jsp 用来列出网上书店的所有书籍供用户购买。bookdetail.jsp 该页面中显示了书的详细信息,用户还可以设置要购买多少本书。Book.java4、各功能模块的设计与实现、各功能模块的设计与实现l booklist.jsp 用来列出网上书店的所有书籍供用户购买。该页面运行界面如下:4、各功能模块的设计与实现、各功能模块的设计与实现l bookdetail.jsp 该页面中显示了书的详细信息,用户还可以设置要购买多少本书。该页面运行界面如下:4、各功能模块的设计与实现、各功能模块的设计与实现lbuybook.jsp
12、用于接受“bookdetail.jsp”文件传过来的购书信息,并添加到购物车中。值得注意以下几点:基于session实现购物车。由于用户可以订购多本图书,反复订购,所以选择了Vector(向量类)作为购物车session变量的类型。由于购物车中,用户购买书的种类不是惟一的,而是不确定的,所以采取了Vector类,而不是数组。4、各功能模块的设计与实现、各功能模块的设计与实现lVector(向量类)是java.util包(java中各种常用工具类的类库)提供的一个工具类。它类似于数组,但是具有比数组更强大的功能。Vector类对象所表达的序列中元素的个数是可变的,可以说,Vector类实现了变长
13、数组,随着更多元素加入其中,数组变得更大。在删除一些元素之后,数组变小。lVector类的对象不但可以保存一序列的数据,而且还封装了一些有用的方法来操作和处理这些数据,如addElement()、insertElementAt()、elementAt()、setElementAt()、removeElement()、removeAllElements()等。4、各功能模块的设计与实现、各功能模块的设计与实现lshopcar.jsp 作用是显示购物车中的内容,实际上它只是从session中取出购物车变量shopcar,如果购物车为空,页面就显示购物车为空的信息。如果购物车不为空,它就取出用户订购
展开阅读全文