您好,欢迎访问三七文档
第十一讲JSP项目设计10课时(450分钟)本课目标理解电子书城的基本设计思想熟悉系统需求分析、系统功能模块设计、系统界面设计、系统主要流程设计、数据库设计和详细设计知识理解电子书城的基本设计思想结合其他相关课程中学习到的软件开发生命周期的相关内容,进一步明确本书的学习目标。技能1.电子书城总体设计2.系统数据库设计3.系统基本框架4.各功能模块的设计与实现5.部署和发布系统主要内容•网上书店也是JSP技术在电子商务上的应用,用户可以通过浏览器访问系统、订购图书,对系统的管理也是通过浏览器来完成的。•1、系统功能及模块用户注册:用户在网上书店订购图书前,必须注册用户。网上购物:注册用户可以查看书店中有哪些图书,并确定订购哪些图书,可以反复订购。查看以前用户订单:注册用户登录系统后,可以查看、修改用户信息,也可以查看以前在网上书店订购的图书。1、网上书店总体设计系统管理与维护:这是系统管理员的工作,要求能够添加、修改、删除图书等。系统功能模块如下图所示:•系统功能模块1、网上书店总体设计•2、系统实现方案•本系统采用B/S(浏览器/服务器)数据库应用体系结构。整个系统采用JSP+JavaBean模式,其中,JavaBean主要用来封装连接数据库、执行SQL语句等功能。•JSP容器(服务器)则采用Tomcat5.0。后台数据库管理系统则采用SQLServer2000。1、网上书店总体设计•1、数据表分析•分析功能要求,本系统后台数据库设计4个表。2、系统数据库设计2、系统数据库设计••接下来创建数据库和数据表。数据库名为bookshop。2、系统数据库设计•网上书店的基本结构如下所示:系统基本结构图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、各功能模块的设计与实现程序除了将常用的Java包和类包含进来外,还将自定义包bookshop包含进来,这个包中有3个JavaBean程序:DBConnectionManager、DBSQLManager和Book,后面将会详细介绍这3个JavaBean程序。值得注意的是,程序定义了两个String类型变量:dateString和_dateString,前者是表示当前系统日期,后者表示当前系统日期时间,这两个变量将在网上书店的其他JSP文件中使用。check.jsp用来判断系统用户是否登录,防止非法用户登录到系统对系统进行破坏4、各功能模块的设计与实现•代码如下:•%•if((String)session.getValue(Enter)!=true){•Stringerrmsg=error2;response.sendRedirect(login.jsp?errmsg=+errmsg);•}•%header.jsp和footer.jsp为了使网上书店的所有页面具有统一的风格,把页面头和尾的代码分开,分别放在单独的JSP文件中。4、各功能模块的设计与实现•在其他页面中使用时,利用include指令将它们包含进来即可。这是开发一个大型、实用的Web应用常用的方法,可以简化页面的重复代码,也为以后的管理和维护工作提供了方便。•header.jsp和footer.jsp就是这样的两个文件。•如果其他JSP文件要使用它们,可利用如下语句将它们包含进来:•%@includefile=incoming/header.jsp%•%@includefile=incoming/footer.jsp%4、各功能模块的设计与实现•2、网上书店主界面•用户打开网上书店首先见到的页面,通过该页面,用户可以注册用户、登录系统、查看最新消息,系统管理员也可以通过主页面进入到后台管理系统。主界面4、各功能模块的设计与实现•3、建立与数据库相关的JavaBean•在上个实例中,使用一个单独的JSP文件“connectdb.jsp”来连接数据库。由于连接数据库的操作在JSP程序中用得较多,并且是一项很消耗系统资源的操作,所以本章实例把这个操作写成JavaBean。•DBConnectionManager.java•需要注意如下几点:①程序定义了驱动类型名称变量driverName和连接字符串变量url,并给它们赋初值,表示当前连接数据库bookshop。getConnection()方法用于获得数据库连接实例。4、各功能模块的设计与实现①程序的包名为bookshop,其他JavaBean类的包名也是bookshop。②使用如下命令编译程序:•javacDBConnectionManager.java•得到类文件DBConnectionManager.class•除了连接数据库操作外,在程序中经常会执行指定的SQL语句,所以也可以将这个操作编写为JavaBean。•编写JavaBean程序DBSQLManager.java,说明如下:4、各功能模块的设计与实现①程序中要使用类DBConnectionManager,所以要将其包含进来。直接写如下语句:•importbookshop.*;②在构造方法中,声明了一个DBConnectionManager对象,用来建立与数据库bookshop的连接,并生成Statement对象。③方法executeQuery()用来执行SQL查询语句,返回的ResultSet对象,并赋值给成员rs。方法executeUpdate()用来执行INSERT、DELETE和UPDATE语句。④在编译DBSQLManager.java时,要将DBConnectionManager.class文件放置在DBSQLManager.java所在目录的子目录booshop下。4、各功能模块的设计与实现4、【用户注册】模块用户在网上书店订购图书前,需要注册用户。用户注册系统共有两个JSP文件:“register.jsp”和“adduser.jsp”register.jsp定义一个表单以及相关输入框,用于用户输入注册信息。填写完毕,用户单击【注册】按钮,程序会检验用户名和密码的位数是否符合要求以及两次输入的密码是否一致。adduser.jsp提交表单后,进入“adduser.jsp”页面,将用户信息存入数据库。4、各功能模块的设计与实现•5、网上购书子系统•session对象的作用是记录每个客户端的访问状态,以便跟踪每个客户端的操作状态。在网上购书子系统中,使用session对象可以跟踪用户购书操作,本实例中要充分利用session对象。booklist.jsp•用来列出网上书店的所有书籍供用户购买。bookdetail.jsp•该页面中显示了书的详细信息,用户还可以设置要购买多少本书。Book.java4、各功能模块的设计与实现booklist.jsp•用来列出网上书店的所有书籍供用户购买。•该页面运行界面如下:4、各功能模块的设计与实现bookdetail.jsp•该页面中显示了书的详细信息,用户还可以设置要购买多少本书。该页面运行界面如下:4、各功能模块的设计与实现buybook.jsp•用于接受“bookdetail.jsp”文件传过来的购书信息,并添加到购物车中。值得注意以下几点:①基于session实现购物车。②由于用户可以订购多本图书,反复订购,所以选择了Vector(向量类)作为购物车session变量的类型。•由于购物车中,用户购买书的种类不是惟一的,而是不确定的,所以采取了Vector类,而不是数组。4、各功能模块的设计与实现Vector(向量类)是java.util包(java中各种常用工具类的类库)提供的一个工具类。它类似于数组,但是具有比数组更强大的功能。Vector类对象所表达的序列中元素的个数是可变的,可以说,Vector类实现了变长数组,随着更多元素加入其中,数组变得更大。在删除一些元素之后,数组变小。Vector类的对象不但可以保存一序列的数据,而且还封装了一些有用的方法来操作和处理这些数据,如addElement()、insertElementAt()、elementAt()、setElementAt()、removeElement()、removeAllElements()等。4、各功能模块的设计与实现shopcar.jsp•作用是显示购物车中的内容,实际上它只是从session中取出购物车变量shopcar,如果购物车为空,页面就显示购物车为空的信息。如果购物车不为空,它就取出用户订购的所有书籍,依次显示在页面上。•4、各功能模块的设计与实现checkout.jsp•作用是将订单写入到数据库中。4、各功能模块的设计与实现查看【我的订单】(myshop.jsp)购买图书后,用户随时可以查看以前的所有订单,单击页面头【我的订单】,就可以打开“myshop.jsp”页面。4、各功能模块的设计与实现•orderitem.jsp•如果用户单击“查看”按钮,可以进入“orderitem.jsp”页面,查看每个订单的各图书信息以及购买数量。4、各功能模块的设计与实现•将各JSP文件、JDBC驱动程序jar文件等按照“系统程序目录图”组织本系统程序目录。然后将其拷贝到Tomcat服务器的Webapps目录下,再启动Tomcat服务器。•打开浏览器,在地址栏中输入:••就会打开网上书店主页,进行相应操作。5、部署和发布系统本课小结理解电子书城的基本设计思想系统数据库设计数据库封装成Bean课外拓展根据您对所在城市的新华书店的业务处理流程的了解和分析,参照电子书城,设计出电子书城网站的数据库(bookshop)。
本文标题:JSP项目设计
链接地址:https://www.777doc.com/doc-754245 .html