案例2:JSP实现网上书店
2018/10/18
28
Java Web开发技术
5.部署和发布系统
将各JSP文件、JDBC驱动程序jar文件等 按照“系统程序目录图”组织本系统程序目录。 然后将其拷贝到Tomcat服务器的Webapps目 录下,再启动Tomcat服务器。 打开浏览器,在地址栏中输入: http://localhost:8080/bookshop/index.jsp 就会打开网上书店主页,进行相应操作。
案例2 JSP实现网上书店
1
2018/10/18
Java Web开发技术
主要内容
1.网上书店总体设计 2.系统数据库设计 3.系统基本框架
4.各功能模块的设计与实现
5.部署和发布系统
2
2018/10/18
Java Web开发技术
1.网上书店总体设计
网上书店也是JSP技术在电子商务上的应 用,用户可以通过浏览器访问系统、订购图书, 对系统的管理也是通过浏览器来完成的。 1、系统功能及模块 用户注册:用户在网上书店订购图书前,必须 注册用户。 网上购物:注册用户可以查看书店中有哪些图 书,并确定订购哪些图书,可以反复订购。 查看以前用户订单:注册用户登录系统后,可 以查看、修改用户信息,也可以查看以前在网 上书店订购的图书。
19
2018/10/18
Java Web开发技术
编写JavaBean程序DBSQLManager.java, 程序清单见书,说明如下:
①
程序中要使用类DBConnectionManager, 所以要将其包含进来。直接写如下语句: import bookshop.*;
20
2018/10/18
Java Web开发技术
27
2018/10/18
Java Web开发技术
shopcar.jsp 作用是显示购物车中的内容,实际上它只 是从session中取出购物车变量shopcar,如 果购物车为空,页面就显示购物车为空的信息。 如果购物车不为空,它就取出用户订购的所有 书籍,依次显示在页面上。 checkout.jsp 作用是将订单写入到数据库中。 查看【我的订单】 购买图书后,用户随时可以查看以前的所 有订单,单击页面头【我的订单】,就可以打 开“myshop.jsp”页面。
14
2018/10/18
Java Web开发技术
header.jsp和footer.jsp 为了使网上书店的所有页面具有统一的风 格,把页面头和尾的代码分开,分别放在单独 的JSP文件中。 在其他页面中使用时,利用include指令 将它们包含进来即可。这是开发一个大型、实 用的Web应用常用的方法,可以简化页面的 重复代码,也为以后的管理和维护工作提供了 方便。
26
2018/10/18
Java Web开发技术
Vector类的对象不但可以保存一序列的 数据,而且还封装了一些有用的方法来操作 和处理这些数据,如addElement()、 insertElementAt()、elementAt()、 setElementAt()、removeElement()、 removeAllElements()等。
2018/10/18
22
Java Web开发技术
5、网上购书子系统 session对象的作用是记录每个客户端的 访问状态,以便跟踪每个客户端的操作状态。 在网上购书子系统中,使用session对象可以 跟踪用户购书操作,本实例中要充分利用 session对象。
23
2018/10/18
Java Web开发技术
2018/10/18
Java Web开发技术
程序除了将常用的Java包和类包含进来外, 还将自定义包bookshop包含进来,这个包中 有3个JavaBean程序: DBConnectionManager、DBSQLManager 和Book,本章后面的章节将会详细介绍这3个 JavaBean程序。
15
2018/10/18
Java Web开发技术
header.jsp和footer.jsp就是这样的两个 文件。 如果其他JSP文件要使用它们,可利用如 下语句将它们包含进来: <%@ include file="incoming/header.jsp"%> <%@ include file="incoming/footer.jsp"%>
Java Web开发技术
②
③
程序的包名为bookshop,本章其他 JavaBean类的包名也是bookshop。 使用如下命令编译程序: javac DBConnectionManager.java 得到类文件 DBConnectionManager.class 除了连接数据库操作外,在程序中经常会执 行指定的SQL语句,所以也可以将这个操作 编写为JavaBean。
16
2018/10/18
Java Web开发技术
2、网上书店主界面
用户打开网上书 店首先见到的页面, 通过该页面,用户可 以注册用户、登录系 统、查看最新消息, 系统管理员也可以通 过主页面进入到后台 管理系统。程序清单 见书。
主界面
17
2018/10/18
Java Web开发技术
18
3、建立与数据库相关的JavaBean 在案例1中,使用一个单独的JSP文件 “connectdb.jsp”来连接数据库。由于连接 数据库的操作在JSP程序中用得较多,并且是 一项很消耗系统资源的操作,所以本章实例把 这个操作写成JavaBean。 DBConnectionManager.java程序清单见 书。需要注意如下几点: ① 程序定义了驱动类型名称变量driverName和 连接字符串变量url,并给它们赋初值,表示 当前连接数据库bookshop。 getConnection()方法用于获得数据库连接实 例。 2018/10/18
8
Java Web开发技术
3.系统基本框架
网上书店的基本结构如下所示:
系统基本结构图
9
2018/10/18
Java Web开发技术
10
系统程序目录结构图
2018/10/18
Java Web开发技术
4.各功能模块的设计与实现
11
1、公共模块设计 公共模块中一共有4个JSP文件和一个 CSS文件:“common.jsp”、“check.jsp”、 “header.jsp”、“footer.jsp”和 “style.css”。其中,“style.css”文件与第 10章中相同文件类似,不作介绍,下面介绍 其他4个文件。 common.jsp “common.jsp”文件包含其他JSP文件中 需要导入的Java类和包以及系统各页面要使 用的日期。
25
2018/10/18
Java Web开发技术
Vector(向量类)是java.util包(java中 各种常用工具类的类库)提供的一个工具类。 它类似于数组,但是具有比数组更强大的功 能。Vector类对象所表达的序列中元素的个 数是可变的,可以说,Vector类实现了变长 数组,随着更多元素加入其中,数组变得更 大。在删除一些元素之后,数组变小。
5
2018/10/18
Java Web开发技术
2.系统数据库设计
1、数据表分析 分析功能要求,本系统后台数据库设计4个表。
6
2018/10/18
Java Web开发技术
7
2018/10/18
Java Web开发技术
接下来创建数据库和数据表。数据库名为 bookshop。
2018/10/18
29
2018/10/18
Java Web开发技术
结束
谢谢!
30
2018/10/18
②
③
④
在构造方法中,声明了一个 DBConnectionManager对象,用来建立与数 据库bookshop的连接,并生成Statement对象。 方法executeQuery()用来执行SQL查询语句, 返回的ResultSet对象,并赋值给成员rs。方法 executeUpdate()用来执行INSERT、DELETE 和UPDATE语句。 在编译DBSQLManager.java时,要将 DBConnectionManager.class文件放置在 DBSQLManager.java所在子目录bookshop下。
13
2018/10/18
Java Web开发技术
代码如下: <%
if((String)session.getValue("Enter")!="true") {
String errmsg="error2"; response.sendRedirect("login.jsp?errmsg ="+errmsg); } %>
booklist.jsp 用来列出网上书店的所有书籍供用户购买。 bookdetail.jsp 该页面中显示了书的详细信息,用户还可 以设置要购买多少本书。 Book.java 见程序清单--。
24
2018/10/18
Java Web开发技术
buybook.jsp 用于接受“bookdetail.jsp”文件传过来的 购书信息,并添加到购物车中。程序清单见书, 值得注意以下几点: ① 基于session实现购物车。 ② 由于用户可以订购多本图书,反复订购,所以 选择了Vector(向量类)作为购物车session 变量的类型。 由于购物车中,用户购买书的种类不是惟 一的,而是不确定的,所以采取了Vector类, 而不是数组。