小型网上书店JSPJava Bean.docx
《小型网上书店JSPJava Bean.docx》由会员分享,可在线阅读,更多相关《小型网上书店JSPJava Bean.docx(18页珍藏版)》请在冰豆网上搜索。
小型网上书店JSPJavaBean
软件工程实验报告
设计题目小型网上书店课程设计(JSP)
学生专业班级计算机科学与技术**级*班
学生姓名(学号)***(***)
指导教师***
完成时间****年**月**日
实习(设计)地点******
*****年**月**日
一、开发计划
使用JSP和JavaBean来构建一个简单的网上书店,该系统可以分类录入书籍和相关信息(如名称、页数、出版商、摘要、目录等),包括会员注册,会员登录,会员选书,会员订单提交,订单修改,订单查询。
二、需求分析
1.业务及用户需求分析
网上书店诞生早,规模大。
1969年因特网出现不久就有了线上购书。
经过20多年的发展,1997年全世界图书销售中,每5本书就有1本是通过网上书店销售的,占全世界图书销售总量的20%以上。
它已成为网上贸易主力军之一。
要设计一个实用的网络书店销售管理系统,就必须首先明确应用环境对系统的要求。
本系统开发的总体设计目标为开发一个在线系统,实现图书的在线查找、销售,以及在线管理等功能。
系统以Windows操作系统为平台,网络联接以TCP/IP协议为基础,使用Web服务器提供信息的浏览和查询,采用流行的B/S三层体系结构。
因此,该系统需主要满足以下几方面需求。
1.用户的管理,含注册、检验及修改等功能。
2.在线图书销售,包括查找、购物车及定单等功能。
3.图书在线管理,如浏览、修改、添加和删除图书等。
2.技术可行性
1.硬件:
计算机的存储量大,运算速度快,外部设备的功能好、效率高、可靠性高,通信设备的能力、质量都满足要求。
2.系统软件:
(1).操作系统WindowsXP接口能力强,数据库管理系统的功能足够。
(2).Java语言是一种优秀的编程语言。
“TheSanFranciscoproductiswrittenalmostentirelyinjavaandisbelievedtobeoneofthelargestjavadevelopmenteffortsatthistime”从这可以看出Java的发展是很快的。
它最大的优点就是与平台无关,在Windows、Linux以及其它平台上,都可以使用相同的代码。
“一次编写,到处运行”的特点,使其在互联网上广泛采用。
JSP+JavaBeans几乎可以在所有平台上通行无阻,从一个平台移植到另外一个平台,JSP和JavaBeans甚至不用重新编译。
(3).除此之外Java语言还提供了一些有用的新特性,使得使用Java语言比C++语言更容易写出“无错代码”。
3.系统服务器配置及开发工具
1.数据库:
本系统数据库采用MicrosoftOfficeAccess即可满足需求。
2.Web服务器平台:
可以选用WindowsXP。
3.Web服务器:
Tomcat成为JavaWebServer的主流服务器是不可抵挡的趋势,它功能强大,性能稳定,完全可以做商业应用,所以采用Tomcat6.0。
4.开发工具:
Eclipse;
5.软件开发工具箱:
J2SDK。
6.程序开发辅助工具:
选用DreamweaverMX2004来开发界面,编写及调试程序在Editplus和JBuilder中进行。
7.系统平台:
WindowsXP+Tomcat+MicrosoftOfficeAccess+Eclipse.
4.系统数据流程分析
说明:
未注册用户通过注册后可以登录到前台进行购书,管理员通过登录可以进入后台进行管理。
1.顶层数据流图如下图
2.前台购书和后台管理
前台购书:
用户登录后进行书籍浏览和查询,对书籍信息有了一定了解后可根据自己的需求进行购书,购书后将所需书放入购物车,最终确定要购买的图书,提交定单,等待定单的处理结果。
前台购书如下图所示:
后台管理:
管理员可以登陆到后台,查看相关的定单信息,然后修改定单的信息,主要是审核定单的有效性。
系统第二层数据流图(后台管理)如下图
三.系统功能模块实现
1.用户登陆模块
这里介绍用户登陆的程序设计思路,数据库中存放有用户的基本信息,用户在网站中输入相关信息,通过匹配检测,便可以知道数据的有效性.
其中会员登录JavaBean
我们网上书店中的会员信息的库结构如图1所示:
图1会员信息库
其中memberID是主键,用于区分不同的会员,新会员注册时只能使用没有被使用的用户代码。
下面是登陆程序流程图如下图2所示:
图2登陆程序流程图
登陆模块中的主要程序介绍:
1.Java代码:
PackageBuyBook;
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属性;
publicvoidsetMemberID(StringID){
this.memberID=ID;
}
//设置pwd属性
publicvoidsetPwd(Stringpassword){
this.pwd=password;
}
//获得该会员的真实姓名,必须在取该会员登录的次数之后才能被赋予正确的值
publicStringgetMemberName(){
returnmemberName;
}
//测试Bean中的各个方法是否能够正常工作
publicstaticvoidmain(Stringargs[]){
BuyerBeanbuyer=newBuyerBean();
buyer.setMemberID(“abcd”);
buyer.setPwd(“1234”);
System.out.println(buyer.getLogontimes());
System.out.println(buyer.getMemberName());
}
}
2.会员登录htm与JSP
会员登录要由两个部分来完成,第一个页面用于会员输入其ID和密码。
清单default.htm
—
Copyright©1999cuug,liu.
CUUGONLINEBOOKSTORE–MEMBERLOGIN
CUUG网上书店
会员登录页
请输入会员代号和密码:
会员代码:
密 码: