完整的简单jsp网上书店详细实例
计算机web编程jsp毕业论文、考试复习资料必备
其中包括的详细需求、业务
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
、数据库、源代码
我们使用JSP和Java Bean来构建一个网上书店。介绍的例子可以分成两大部分,第一部分是普通程序,用于客户在网上选购图书,第二部分是管理程序,用于在服务器端处理客户的定单。客户端程序由以下几个部分构成:
default.jsp:会员登录界面(首页);
checklogon.jsp:检测登录代码和密码是否一致,根据由JavaBean返回的结果显示不同的信息。
BuyerBean:会员的合法性检验所用的Bean;
booklist.jsp:给登录会员显示当前书店中可供选择的图书;
addcart.jsp:将所选的图书加入购物车;
shoppingcart.jsp:查看购物车的内容;
本例的数据库采用Access(.MDB数据库),对数据库的访问采用便于理解的JDBC-ODBC方式,在使用本例前先在本地数据库建立一个ODBC数据源:bookstore。
设置步骤如下:
(1)在开始->设置->控制面版(Win98、NT4.0)中选取“数据源(ODBC)”;在Win 2000 Professional和Server中分别位于“开始->设置->控制面版->管理工具”和“开始->程序->管理工具”下。
(2)启动“数据源(ODBC)”配置程序,界面如图15-1所示。
图15-1 ODBC数据源管理界面
(3)在图15-1中“系统DSN”选项下单击“添加”按钮,来添加一个系统的数据源(DSN),则出现如图15-2所示数据源驱动程序选择界面:
图15-2 数据源驱动程序选择界面
(4)在图15-2中选择“Microsoft Access Driver (*.mdb)”单击“完成”加载Access数据库的驱动,则出现如图15-3所示数据库ODBC安装界面:
图15-3 数据库ODBC安装界面
(5)在图15-3中单击“选择(S)…”按钮,启动一个类似资源管理器的界面来选择数据库,如图15-4所示,在图15-4所示的界面中选择bookstore.mdb。
图15-4 数据库选择界面
15.1 会员登录
做一个网上书店,在顾客开始购书之前,必须要
记录
混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载
用户的一些信息以便用户在不同的分类、不同的页面购书时,最后能够去收款台统一结帐,而且网上书店同时有许多人在选购图书,也要求对不同的顾客进行区分,我们可以要求顾客在购书之前进行注册成为会员,以后只用会员代码和密码即可登录。
为了便于说明现在的电子商务网站,由JSP做页面表现,由Java Bean做应用逻辑的结构,在本例中将会员登录程序分成两大部分:一、Java Bean用于对数据库的操作,验证用户名和密码是否正确;二、JSP页面部分,用于供用户会员代码和密码以及显示验证结果。
15.1.1 会员登录Java Bean
我们网上书店中的会员信息的库结构如图15-5所示:
图15-5 会员信息库
其中memberID 是主键,用于区分不同的会员,新会员注册时只能使用没有被使用的用户代码。
在验证时我们只要使用验证用户的memberID和其pwd是否一致即可判断该用户是否合法,如果合法则其登录次数加1。
下面是用户验证部分的Java Bean的代码
清单15-1 BuyerBean.Java
/* *BuyerBean.Java 1.10.2001
*Copyright © 2000, 2001 by cuug llp.
*本Bean中有两个set方法和两个get 方法:
*setMemberID()— 对BuyerBean中的memberID属性进行赋值;
*setPwd()—对BuyerBean中的 pwd 属性进行赋值;
*getLogontimes()— 取该会员登录的次数
*getMenberName()获得该会员的真实姓名,用于显示欢迎信息。
*main()方法用于将BEAN作为一个 Application进行测试时使用,正式发布时可以删除。
**/
package cuug;
import Java.sql.*;
public class BuyerBean {
private String memberID = null ; //会员ID
private String memberName = null; //会员姓名
private String pwd = null;
//密码
private int logontimes = -1;
//登录的次数
private static String strDBDriver = “sun.jdbc.odbc.JdbcOdbcDriver”; //JDBC驱动
private static String strDBUrl = “jdbc:odbc:bookstore”; //数据源 ,
private Connection conn =null; //连接
private ResultSet rs = null;
//结果集
public BuyerBean (){
//加载JDBC-ODBC驱动
try {
Class.forName(strDBDriver );
}
//捕获异常
catch(Java.lang.ClassNotFoundException e){
System.err.println(“BuyerBean():” + e.getMessage());
}
}
//获得登录次数,登录的会员的名字也在该方法调用时获得
public int getLogontimes(){
String strSql = null;
try{
conn = DriverManager.getConnection(strDBUrl);
Statement stmt = conn.createStatement();
strSql = “Select logonTimes,membername from buyerInfo where memberID = ‘” +
memberID + “’ and pwd =’” + pwd + “’”;
rs = stmt.executeQuery(strSql);
while (rs.next()){
// 登录的次数
logontimes = rs.getInt(“logonTimes”);
//会员姓名
memberName = rs.getString(“membername”);
}
rs.close();
//如果是合法会员则将其登录次数加1
if (logontimes != -1 ) {
strSql = “Update buyerInfo set
logonTimes = logonTimes +1 where memberID = ‘” + memberID + “’”;
stmt.executeUpdate(strSql);
}
stmt.close();
conn.close();
}
//捕获异常
catch(SQLException e){
System.err.println(“BuyerBean.getLogontimes():” + e.getMessage());
}
return logontimes ;
}
//设置memberID属性;
public void setMemberID(String ID){
this.memberID = ID;
}
//设置pwd 属性
public void setPwd(String password){
this.pwd = password;
}
//获得该会员的真实姓名,必须在取该会员登录的次数之后才能被赋予正确的值
public String getMemberName(){
return memberName;
}
//测试Bean中的各个方法是否能够正常工作
public static void main(String args[]){
BuyerBean buyer = new BuyerBean();
buyer.setMemberID(“abcd”);
buyer.setPwd(“1234”);
System.out.println(buyer.getLogontimes());
System.out.println(buyer.getMemberName());
}
}
在BuyerBean中用了package cuug; 在发布到WEB SERVER时,可以用JAR(JDK中带的打包工具)把编译后的BuyerBean.class 打包成JAR文件在服务器的环境变量classpath中给予指定,或者在服务器classpath环境变量指定的目录下建一个cuug文件夹,把BuyerBean.class放到cuug目录下。
15.1.2 会员登录htm与JSP
会员登录要由两个部分来完成,第一个页面用于会员输入其ID和密码,当然首页还可以加一些广告等的其它信息,在本例中略过。
清单15-2 default.htm
CUUG ON LINE BOOK STORE – MEMBER LOGIN
CUUG 网上书店
会员登录页