网上书店管理系统课程设计正文大学论文.docx
《网上书店管理系统课程设计正文大学论文.docx》由会员分享,可在线阅读,更多相关《网上书店管理系统课程设计正文大学论文.docx(37页珍藏版)》请在冰豆网上搜索。
网上书店管理系统课程设计正文大学论文
武汉理工大学华夏学院
课程设计
课程名称JSP程序设计课程设计
题目网上书店系统
班级计算机1121
姓名
学号10210412123
成绩
指导教师刘春燕
2015年6月29日至2015年7月3日
课程设计任务书
设计题目:
网上书店系统
设计目的:
1.掌握JSPWEB程序设计的基本工作原理;
2.培养基本掌握JSPWEB应用开发的基本思路和方法;
3.培养学生分析,解决问题的能力;
4.提高学生的科技论文写作能力;
设计任务:
(在规定的时间内完成下列任务)
1、分析各功能模块的需求;
2、要求使用JSP,SERVLET,SQL等动态网页开发工具;
3、提出合理的设计方案;
4、功能要求完整;
5、每人至少完成对数据库的增删改查的操作
具体要完成的任务是:
A.用户登录,利用函数检查账号和密码输入的完整性;
B.书店管理,当用户登录成功后,通过该功能模块进入新书录入,书目查询,信息修改,旧书删除界面。
C.新书录入,在此界面输入新书的详细信息
D.书目查询,根据书名查询书的信息。
此功能可扩充。
E.信息修改,通过此界面根据书名修改书本信息
F.旧书删除,根据书名删除该书信息
时间安排
6月29日布置课程设计任务,确定设计题目;
6月30日查阅资料、准备程序,上机调试程序、书写课程设计报告;
至
7月2日
7月3日提交课程设计报告及相关文档
具体要求
1.课程设计报告按统一通用格式书写,具体格式要求请在网络上查阅;
2.每位学生应独立完成各自的任务且每天至少在设计室工作半天;
指导教师签名:
15年6月25日
教研室主任(或责任教师)签名:
15年6月25日
1概述
1.1JSP简介和运行原理
JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准,JSP技术在Servlet技术基础上发展起来的,它正在飞速发展中,现已成为Java服务器编程的重要组成部分。
它虽然还未成型,但是它必将和J2EE(Java2EnterpriseEdition)一起发展。
JSP是结合markup(HTML和XML)和Java代码来处理一种动态页面。
每一页第一次被调用时,通过JSP引擎自动被编译成Servlet,然后被执行,以后每次调用时,执行编译过的Servlet。
JSP提供了多种方式访问Javaclass、Servlet、Applets和WebServer,因此,Web应用的功能可以分成多个明确定义公用接口的组件,通过JSP将它们结合在一起。
在JSP第一次获得来自于客户端浏览器的请求时,JSP文件将被JSP引擎(JSPengine)转换成一个Servlet,即将”.jsp”文件编译成JavaClass文件。
当Servlet引擎接收到请求后,如果设置了使用最新的JSP,它就会去找JSP文件,检查该文件在上次编译后是否改动过。
如果改动过,就会重新编译生成新的Servlet,最终将请求转交给编译好的Servlet引擎执行。
1.2开发背景
随着网络与计算机信息技术的发展,信息技术作为工具被引入商务活动的领域从而产生了电子商务。
电子商务就是利用信息技术将商务活动的各实体通过互联网络结合从而实现商务活动过程。
目前,网上书店在国际互联网上可以实现的商务已经多样化,可以完成从最基本的信息展示、信息发布功能到在线交易、在线客户服务、在线网站管理功能等,可以说,传统书店所具备的功能几乎都可以在互联网上进行电子化的高效动作。
作为一个虚拟的商店,网上商店具有很多新的特性,以下这些是它的优势:
其营业成本完全有理由比传统意义上的商店低得多,不需支持昂贵的店铺租金,花费浩大的装修,不需要将大笔的流动资金作为货物而沉积在店里,可依靠“零库存”管理,缩速资金周转的周期,可以加速周期。
网上商店更容易开拓全场市场,国际互联网实现24小时营业,不需要营业员,网上商店可以被设置成一个自动售货机。
通过网上购物,购物者足不出户,可以节省很多时间,给消费者带来利润和便利。
2需求分析
2.1系统需求
本系统是一个中小型的电子商务系统----网上书店,可以为各类用户提供方便的在线买书环境,符合目前国内流行的电子商务模式。
管理员可以通过用户管理、定单管理、商品管理等管理功能来对系统进行维护更新。
具体要完成的任务是:
1.用户登录,利用函数检查账号和密码输入的完整性;
2.书店管理,当用户登录成功后,通过该功能模块进入新书录入,书目查询,信息修改,旧书删除界面。
3.新书录入,在此界面输入新书的详细信息
4.书目查询,根据书名查询书的信息。
此功能可扩充。
5.信息修改,通过此界面根据书名修改书本信息
6.旧书删除,根据书名删除该书信息
2.2功能模块图
按照系统的需求要求,可以把系统功能进行分解,以便按照每个功能模块的要求分别实现对应的功能。
系统总体结构如下图1-1所示:
图1-1系统结构图
用户可以修改部分图书信息,像书名、价格、类别这样的信息都能作修改;用户还可以删除、添加书本信息。
3数据库设计
数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率,以及实现的效果产生影响。
合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。
3.1数据库需求分析
针对本系统功能分析,总结出如下的需求信息。
1.用户,包括数据项:
用户ID、用户名、密码。
2.图书,包括数据项:
图书编号、图书名、价格、图书介绍。
用户登录的E-R图如图3-1所示:
图3-1用户实体E-R图
图书的E-R图如图3-2所示
:
图3-2图书实体E-R图
3.2数据库逻辑结构设计
网上书店数据库中各个表的设计结果如下所示。
图书信息表如图3-3:
字段名
数据类型
长度
允许空
说明
name
int
4
书名
bookclass
varchar
255
图书类别
author
varchar
100
yes
图书作者
bookNo
varchar
100
yes
书号
price
tinyint
1
yes
价格
表3-3图书信息表shudian
用户信息表如图3-4:
字段名
数据类型
长度
允许空
说明
username
varchar
4
no
用户名
password
varchar
100
no
密码
表3-4用户信息表user-info
4详细设计
4.1系统概述
4.1.1用户界面部分
1.用户注册
2.用户登录
4.1.2 管理界面部分
图书管理:
1.新书录入
2.书目查询
3.信息修改
4.旧书删除
4.2 详细代码及说明
4.2.1用户登录程序设计
这是一个以客户为中心的交易平台,只有成为了系统的合法用户才能够使用这个系统,因此需要检验每个用户的合法性,管理用户登录的login.jsp和login.html正是要完成这样的功能。
1.Login.jsp
<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>
<%@pageimport="java.sql.*"%>
<%
Stringpath=request.getContextPath();
StringbasePath=request.getScheme()+":
//"+request.getServerName()+":
"+request.getServerPort()+path+"/";
%>
<%!
StringCheckLogin(StringLogin1,StringPassword1)throwsException{
StringLogin=Login1.trim();
StringPassword=Password1.trim();
Stringresult=null;
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Stringurl="jdbc:
sqlserver:
//localhost:
1328;DatabaseName=bookstore";
Stringusername="sa";
Stringpassword="123456";
Connectionconn=DriverManager.getConnection(url,username,password);
PreparedStatementstmt=conn.prepareStatement("select*fromuser_infowhereusername=?
");
stmt.setString(1,Login);
ResultSetrs=stmt.executeQuery();
if(!
rs.next())
result="无此账号";
else
if(!
rs.getString("userPasswd").equals(Password))
result="密码错误";
else
result="登陆成功";
rs.close();
stmt.close();
conn.close();
returnresult;
}
%>
<%
StringUserNm=request.getParameter("username");
StringUserPasswd=request.getParameter("userPasswd");
StringstrCheckLogin=CheckLogin(UserNm,UserPasswd);
if(strCheckLogin.equals("登陆成功"))
{
session.setAttribute("UserNm",UserNm);
session.setAttribute("UserPasswd",UserPasswd);
response.sendRedirect("LoginSuccess.jsp");
}
%>
DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
">
MyJSP'Login.jsp'startingpage
--
-->
使用者登录
<%=strCheckLogin%>
请重新登录
2.LogFrm.html
DOCTYPEhtml>
LogFrm.html
---->
用户登录
用户名称:
用户密码:
4.2.2书店管理程序设计
管理员对书店的管理操作,包括:
新书录入、书目查询、信息修改、旧书删除。
新书录入包括append-1.jsp和append-2.jsp
1.append-1.jsp:
<%@pagecontentType="text/html;charset=GB2312"import="java.sql.*"%>
<%@pageimport="java.io.*"%>
<%
Stringpath=request.getContextPath();
StringbasePath=request.getScheme()+":
//"+request.getServerName()+":
"+request.getServerPort()+path+"/";
%>
DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
">
MyJSP'append_1.jsp'startingpage
--
-->
新书录入
书名:
书号:
作者:
单价:
类别:
<%Stringlr=(String)session.getAttribute("tianjia");%>
数据录入:<%=lr%>
返回
2.append-2.jsp:
<%@pagecontentType="text/html;charset=GB2312"import="java.sql.*"%>
<%@pageimport="java.io.*"%>
<%
Stringpath=request.getContextPath();
StringbasePath=request.getScheme()+":
//"+request.getServerName()+":
"+request.getServerPort()+path+"/";
%>
DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
">
MyJSP'append_2.jsp'startingpage
--
-->
<%!
booleaninsert(Stringname,Stringnumber,Stringw,Stringp,Stringt)throwsException
{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Stringurl="jdbc:
sqlserver:
//localhost:
1328;DatabaseName=bookstore";
Stringusername="sa";
Stringpassword="123456";
Connectionconn=DriverManager.getConnection(url,username,password);
Stringsql="insertintoshudianvalues"+"("+"'"+name+"','"+number+"',"+w+","+p+","+t+")";
Statementstmt=conn.createStatement();
intnam=stmt.executeUpdate(sql);
stmt.close();
conn.close();
if(nam>0)
{
returntrue;}
else
{
returnfalse;}
}
%>
<%Stringname=request.getParameter("name");
Stringnumber=request.getParameter("number");
Stringw=request.getParameter("writer");
Stringp=request.getParameter("price");
Stringt=request.getParameter("type");%>
<%
if(insert(name,number,w,p,t))
session.setAttribute("tianjia","成功");
else
session.setAttribute("tianjia","失败");
response.sendRedirect("append_1.jsp");
%>
书目查询包括query-1.jsp和query-2.jsp。
1.query-1.jsp
<%@pagecontentType="text/html;charset=GB2312"import="java.sql.*"%>
<%@pageimport="java.io.*"%>
<%
Stringpath=request.getContextPath();
StringbasePath=request.getScheme()+":
//"+request.getServerName()+":
"+request.getServerPort()+path+"/";
%>
DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
">
MyJSP'query_1.jsp'startingpage