JSP网上书店开发完整实例含完整源代码.docx
《JSP网上书店开发完整实例含完整源代码.docx》由会员分享,可在线阅读,更多相关《JSP网上书店开发完整实例含完整源代码.docx(49页珍藏版)》请在冰豆网上搜索。
JSP网上书店开发完整实例含完整源代码
完整的简单jsp网上书店详细实例
计算机web编程jsp毕业论文、考试复习资料必备
其中包括的详细需求、业务分析、数据库、源代码
我们使用JSP和JavaBean来构建一个网上书店。
介绍的例子可以分成两大部分,第一部分是普通程序,用于客户在网上选购图书,第二部分是管理程序,用于在服务器端处理客户的定单。
客户端程序由以下几个部分构成:
default.jsp:
会员登录界面(首页);
checklogon.jsp:
检测登录代码和密码是否一致,根据由JavaBean返回的结果显示不同的信息。
BuyerBean:
会员的合法性检验所用的Bean;
booklist.jsp:
给登录会员显示当前书店中可供选择的图书;
addcart.jsp:
将所选的图书加入购物车;
shoppingcart.jsp:
查看购物车的内容;
本例的数据库采用Access(.MDB数据库),对数据库的访问采用便于理解的JDBC-ODBC方式,在使用本例前先在本地数据库建立一个ODBC数据源:
bookstore。
设置步骤如下:
(1)在开始->设置->控制面版(Win98、NT4.0)中选取“数据源(ODBC)”;在Win2000Professional和Server中分别位于“开始->设置->控制面版->管理工具”和“开始->程序->管理工具”下。
(2)启动“数据源(ODBC)”配置程序,界面如图15-1所示。
图15-1 ODBC数据源管理界面
(3)在图15-1中“系统DSN”选项下单击“添加”按钮,来添加一个系统的数据源(DSN),则出现如图15-2所示数据源驱动程序选择界面:
图15-2 数据源驱动程序选择界面
(4)在图15-2中选择“MicrosoftAccessDriver(*.mdb)”单击“完成”加载Access数据库的驱动,则出现如图15-3所示数据库ODBC安装界面:
图15-3 数据库ODBC安装界面
(5)在图15-3中单击“选择(S)…”按钮,启动一个类似资源管理器的界面来选择数据库,如图15-4所示,在图15-4所示的界面中选择bookstore.mdb。
图15-4 数据库选择界面
15.1 会员登录
做一个网上书店,在顾客开始购书之前,必须要记录用户的一些信息以便用户在不同的分类、不同的页面购书时,最后能够去收款台统一结帐,而且网上书店同时有许多人在选购图书,也要求对不同的顾客进行区分,我们可以要求顾客在购书之前进行注册成为会员,以后只用会员代码和密码即可登录。
为了便于说明现在的电子商务网站,由JSP做页面表现,由JavaBean做应用逻辑的结构,在本例中将会员登录程序分成两大部分:
一、JavaBean用于对数据库的操作,验证用户名和密码是否正确;二、JSP页面部分,用于供用户会员代码和密码以及显示验证结果。
15.1.1 会员登录JavaBean
我们网上书店中的会员信息的库结构如图15-5所示:
图15-5 会员信息库
其中memberID是主键,用于区分不同的会员,新会员注册时只能使用没有被使用的用户代码。
在验证时我们只要使用验证用户的memberID和其pwd是否一致即可判断该用户是否合法,如果合法则其登录次数加1。
下面是用户验证部分的JavaBean的代码
清单15-1 BuyerBean.Java
/**BuyerBean.Java 1.10.2001
*Copyright?
2000,2001bycuugllp.
*本Bean中有两个set方法和两个get方法:
*setMemberID()—对BuyerBean中的memberID属性进行赋值;
*setPwd()—对BuyerBean中的pwd属性进行赋值;
*getLogontimes()—取该会员登录的次数
*getMenberName()获得该会员的真实姓名,用于显示欢迎信息。
*main()方法用于将BEAN作为一个Application进行测试时使用,正式发布时可以删除。
**/
packagecuug;
importJava.sql.*;
publicclassBuyerBean{
privateStringmemberID=null; //会员ID
privateStringmemberName=null; //会员姓名
privateStringpwd=null; //密码
privateintlogontimes=-1; //登录的次数
privatestaticStringstrDBDriver=“sun.jdbc.odbc.JdbcOdbcDriver”; //JDBC驱动
privatestaticStringstrDBUrl=“jdbc:
odbc:
bookstore”; //数据源,
privateConnectionconn=null; //连接
privateResultSetrs=null; //结果集
publicBuyerBean(){
//加载JDBC-ODBC驱动
try{
Class.forName(strDBDriver);
}
//捕获异常
catch(Java.lang.ClassNotFoundExceptione){
System.err.println(“BuyerBean():
”+e.getMessage());
}
}
//获得登录次数,登录的会员的名字也在该方法调用时获得
publicintgetLogontimes(){
StringstrSql=null;
try{
conn=DriverManager.getConnection(strDBUrl);
Statementstmt=conn.createStatement();
strSql=“SelectlogonTimes,membernamefrombuyerInfowherememberID=‘”+
memberID+“’andpwd=’”+pwd+“’”;
rs=stmt.executeQuery(strSql);
while(rs.next()){
//登录的次数
logontimes=rs.getInt(“logonTimes”);
//会员姓名
memberName=rs.getString(“membername”);
}
rs.close();
//如果是合法会员则将其登录次数加1
if(logontimes!
=-1){
strSql=“UpdatebuyerInfoset
logonTimes=logonTimes+1wherememberID=‘”+memberID+“’”;
stmt.executeUpdate(strSql);
}
stmt.close();
conn.close();
}
//捕获异常
catch(SQLExceptione){
System.err.println(“BuyerBean.getLogontimes():
”+e.getMessage());
}
returnlogontimes;
}
//设置memberID属性;
public voidsetMemberID(StringID){
this.memberID=ID;
}
//设置pwd属性
publicvoid setPwd(Stringpassword){
this.pwd=password;
}
//获得该会员的真实姓名,必须在取该会员登录的次数之后才能被赋予正确的值
publicStringgetMemberName(){
returnmemberName;
}
//测试Bean中的各个方法是否能够正常工作
public staticvoidmain(Stringargs[]){
BuyerBeanbuyer=newBuyerBean();
buyer.setMemberID(“abcd”);
buyer.setPwd(“1234”);
System.out.println(buyer.getLogontimes());
System.out.println(buyer.getMemberName());
}
}
在BuyerBean中用了package cuug;在发布到WEBSERVER时,可以用JAR(JDK中带的打包工具)把编译后的BuyerBean.class打包成JAR文件在服务器的环境变量classpath中给予指定,或者在服务器classpath环境变量指定的目录下建一个cuug文件夹,把BuyerBean.class放到cuug目录下。
15.1.2 会员登录htm与JSP
会员登录要由两个部分来完成,第一个页面用于会员输入其ID和密码,当然首页还可以加一些广告等的其它信息,在本例中略过。
清单15-2default.htm
—
Copyright?
1999cuug,liu.
CUUGONLINEBOOKSTORE–MEMBERLOGIN
CUUG网上书店
会员登录页
请输入会员代号和密码:
会员代码:
密 码: