论文部分内容阅读
[摘 要]本文以MYSQL为数据库开发平台,以Tomcat网络信息服务作为应用服务器,采用JSP(Java Server Pages)技术开发了一个网上书店销售系统,该系统是一个动态的、交互式的、具有商品提供功能和系统管理功能的电子商务系统。
[关键词]JSP;Tomcat;网上书店销售系统
[中图分类号]F724.6;TP393
[文献标识码]A
[文章编号]1673-0194(2009)05-0106-04
伴随着电子商务技术的不断成熟,电子商务的功能也越来越强大,注册用户可以在网上搜索购买到自己想要的各种商品,初步让人们体会到了足不出户,便可随意购物的快感。网上购物系统是一种具有交互功能的商业信息系统,它向用户提供静态和动态两类信息资源,当今比较流行的网上购物系统,国外有“淘宝网”,国内有“当当网”。本文以MYSQL为数据库开发平台,以Tomcat网络信息服务作为应用服务器,采用基于服务器端的JSP、Java的组件JavaBean,以及网页编程语言HTML,构建了一个小型动态商务网站——网上书店系统。该系统能实现用户的注册、登录功能;能够实现图书的查询,订购等功能,基本上具备一个网上商品销售系统应具备的功能,可以说,目前的大型商务网站也就是这个小型网站在内容上的扩充和重复。
1 JSP语言及其特点
在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给用户。程序片段可以操作数据库、重新定向网页以及发送E-mail等[1]。JSP基于强大的Java语言[2-4],具有良好的伸缩性,在网络数据库应用开发领域具有得天独厚的优势,而且它在多方面加速了动态Web页面的开发,譬如,将内容的生成和显示进行分离;强调可重用的、跨平台的组件来执行应用程序所要求的更为复杂的处理;采用标识简化页面开发;拥有Java语言“一次编写,各处运行”的特点等。
2 系统需求分析及总体设计
2.1 需求分析
本系统是一个中小型的电子商务系统——网上书店,可以为各类用户提供方便的在线买书环境。用户可以在系统中实现注册、浏览书籍、搜索查询书籍、处理订单等功能;管理员可以通过用户管理、订单管理、图书管理等管理功能来对系统进行维护更新。
2.2 系统功能模块设计
网上购物系统可以分为前台和后台两个部分(如图1所示),前台部分由用户使用(如图2所示),主要包括用户注册、生成订单、购物车管理、查看购物车订购产品、订单查询、搜索引擎等模块;后台部分由管理员使用,主要包括管理员身份验证、图书管理、处理订单、用户信息管理等模块。
图上书店系统前台功能用户管理购物车管理订单管理个人资料管理搜索引擎后台功能管理员身份验证商品管理处理订单用户信息管理……
′BookName′ varchar(40) NOT NULL default ″,
′BookClass′ int(11) NOT NULL default ′0′,
′Author′ varchar(25) default NULL,
′Publish′ varchar(150) default NULL,
′BookNo′ varchar(30) default NULL,
′Content′ text,
′Prince′ float default NULL,
′Amount′ int(11) default NULL,
′Leav_number′ int(11) default NULL,
′RegTime′ datetime NOT NULL default ′0000-00-00 00:00:00′,
′picture′ varchar(200) default NULL,
PRIMARY KEY (′Id′)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
/*
Table structure for bookadmin
*/
drop table if exists ′bookadmin′;
CREATE TABLE ′bookadmin′ (
′AdminUser′ varchar(20) default NULL,
′AdminPass′ varchar(50) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
/*
Table structure for bookclass
*/
drop table if exists ′bookclass′;
CREATE TABLE ′bookclass′ (
′Id′ int(11) NOT NULL auto_increment,
′ClassName′ varchar(30) NOT NULL default ″,
PRIMARY KEY (′Id′)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
/*
Table structure for orders
*/
drop table if exists ′orders′;
CREATE TABLE ′orders′ (
′Id′ int(11) NOT NULL auto_increment,
′orderId′ varchar(20) NOT NULL default ″,
′UserId′ int(11) NOT NULL default ’0’,
′SubmitTime′ datetime NOT NULL default ′0000-00-00 00:00:00′,
′ConsignmentTime′ datetime default NULL,
′TotalPrice′ float default NULL,
′content′ text,
′IPAddress′ varchar(20) default NULL,
′IsPayoff′ int(11) default NULL,
′IsSales′ int(11) default NULL,
PRIMARY KEY (′Id′)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
/*
Table structure for sequence
*/
drop table if exists ′sequence′;
CREATE TABLE ′sequence′ (
′id′ int(11) NOT NULL default ′0′
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
/*
Table structure for shop_user
*/
drop table if exists ′shop_user′;
CREATE TABLE ′shop_user′ (
′Id′ int(11) NOT NULL auto_increment,
′UserName′ varchar(20) NOT NULL default ″,
′PassWord′ varchar(50) NOT NULL default ″,
′Names′ varchar(20) default NULL,
′Sex′ char(2) default NULL,
′Address′ varchar(150) default NULL,
′Phone′ varchar(25) default NULL,
′Post′ varchar(8) default NULL,
′Email′ varchar(50) default NULL,
′RegTime′ datetime default NULL,
′RegIpAddress′ varchar(20) default NULL,
PRIMARY KEY (′Id′)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
3.2 用JSP连接数据库
在本系统中,需要多次连接数据库,而且这种连接是一项很消耗资源的操作,因此,在本系统中将数据库连接的部分写成了一个JavaBean。文件名为DataBase.java,关键代码如下:
public class DataBase {
public Connection conn;
public Statement stmt;
public ResultSet rs=null;
public String sqlStr="";
public DataBase() {
this.connect();
}
public boolean connect(){
try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
String url ="jdbc:mysql://localhost/bookstore?useUnicode=true
[关键词]JSP;Tomcat;网上书店销售系统
[中图分类号]F724.6;TP393
[文献标识码]A
[文章编号]1673-0194(2009)05-0106-04
伴随着电子商务技术的不断成熟,电子商务的功能也越来越强大,注册用户可以在网上搜索购买到自己想要的各种商品,初步让人们体会到了足不出户,便可随意购物的快感。网上购物系统是一种具有交互功能的商业信息系统,它向用户提供静态和动态两类信息资源,当今比较流行的网上购物系统,国外有“淘宝网”,国内有“当当网”。本文以MYSQL为数据库开发平台,以Tomcat网络信息服务作为应用服务器,采用基于服务器端的JSP、Java的组件JavaBean,以及网页编程语言HTML,构建了一个小型动态商务网站——网上书店系统。该系统能实现用户的注册、登录功能;能够实现图书的查询,订购等功能,基本上具备一个网上商品销售系统应具备的功能,可以说,目前的大型商务网站也就是这个小型网站在内容上的扩充和重复。
1 JSP语言及其特点
在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给用户。程序片段可以操作数据库、重新定向网页以及发送E-mail等[1]。JSP基于强大的Java语言[2-4],具有良好的伸缩性,在网络数据库应用开发领域具有得天独厚的优势,而且它在多方面加速了动态Web页面的开发,譬如,将内容的生成和显示进行分离;强调可重用的、跨平台的组件来执行应用程序所要求的更为复杂的处理;采用标识简化页面开发;拥有Java语言“一次编写,各处运行”的特点等。
2 系统需求分析及总体设计
2.1 需求分析
本系统是一个中小型的电子商务系统——网上书店,可以为各类用户提供方便的在线买书环境。用户可以在系统中实现注册、浏览书籍、搜索查询书籍、处理订单等功能;管理员可以通过用户管理、订单管理、图书管理等管理功能来对系统进行维护更新。
2.2 系统功能模块设计
网上购物系统可以分为前台和后台两个部分(如图1所示),前台部分由用户使用(如图2所示),主要包括用户注册、生成订单、购物车管理、查看购物车订购产品、订单查询、搜索引擎等模块;后台部分由管理员使用,主要包括管理员身份验证、图书管理、处理订单、用户信息管理等模块。
图上书店系统前台功能用户管理购物车管理订单管理个人资料管理搜索引擎后台功能管理员身份验证商品管理处理订单用户信息管理……
′BookName′ varchar(40) NOT NULL default ″,
′BookClass′ int(11) NOT NULL default ′0′,
′Author′ varchar(25) default NULL,
′Publish′ varchar(150) default NULL,
′BookNo′ varchar(30) default NULL,
′Content′ text,
′Prince′ float default NULL,
′Amount′ int(11) default NULL,
′Leav_number′ int(11) default NULL,
′RegTime′ datetime NOT NULL default ′0000-00-00 00:00:00′,
′picture′ varchar(200) default NULL,
PRIMARY KEY (′Id′)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
/*
Table structure for bookadmin
*/
drop table if exists ′bookadmin′;
CREATE TABLE ′bookadmin′ (
′AdminUser′ varchar(20) default NULL,
′AdminPass′ varchar(50) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
/*
Table structure for bookclass
*/
drop table if exists ′bookclass′;
CREATE TABLE ′bookclass′ (
′Id′ int(11) NOT NULL auto_increment,
′ClassName′ varchar(30) NOT NULL default ″,
PRIMARY KEY (′Id′)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
/*
Table structure for orders
*/
drop table if exists ′orders′;
CREATE TABLE ′orders′ (
′Id′ int(11) NOT NULL auto_increment,
′orderId′ varchar(20) NOT NULL default ″,
′UserId′ int(11) NOT NULL default ’0’,
′SubmitTime′ datetime NOT NULL default ′0000-00-00 00:00:00′,
′ConsignmentTime′ datetime default NULL,
′TotalPrice′ float default NULL,
′content′ text,
′IPAddress′ varchar(20) default NULL,
′IsPayoff′ int(11) default NULL,
′IsSales′ int(11) default NULL,
PRIMARY KEY (′Id′)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
/*
Table structure for sequence
*/
drop table if exists ′sequence′;
CREATE TABLE ′sequence′ (
′id′ int(11) NOT NULL default ′0′
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
/*
Table structure for shop_user
*/
drop table if exists ′shop_user′;
CREATE TABLE ′shop_user′ (
′Id′ int(11) NOT NULL auto_increment,
′UserName′ varchar(20) NOT NULL default ″,
′PassWord′ varchar(50) NOT NULL default ″,
′Names′ varchar(20) default NULL,
′Sex′ char(2) default NULL,
′Address′ varchar(150) default NULL,
′Phone′ varchar(25) default NULL,
′Post′ varchar(8) default NULL,
′Email′ varchar(50) default NULL,
′RegTime′ datetime default NULL,
′RegIpAddress′ varchar(20) default NULL,
PRIMARY KEY (′Id′)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
3.2 用JSP连接数据库
在本系统中,需要多次连接数据库,而且这种连接是一项很消耗资源的操作,因此,在本系统中将数据库连接的部分写成了一个JavaBean。文件名为DataBase.java,关键代码如下:
public class DataBase {
public Connection conn;
public Statement stmt;
public ResultSet rs=null;
public String sqlStr="";
public DataBase() {
this.connect();
}
public boolean connect(){
try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
String url ="jdbc:mysql://localhost/bookstore?useUnicode=true