《网上店管理系统课程设计.doc》由会员分享,可在线阅读,更多相关《网上店管理系统课程设计.doc(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流网上店管理系统课程设计.精品文档.武汉理工大学华夏学院课 程 设 计课程名称 JSP程序设计课程设计题 目 网上书店系统班 级 计算机1121 姓 名 学 号 10210412123 成 绩 指导教师 刘春燕 2015 年6 月29 日至2015年7月3 日课程设计任务书设计题目:网上书店系统设计目的:1 掌握JSP WEB程序设计的基本工作原理;2 培养基本掌握JSP WEB应用开发的基本思路和方法;3 培养学生分析,解决问题的能力; 4提高学生的科技论文写作能力 ;设计任务:(在规定的时间内完成下列任务)1、分析各功能模块的需求;2、要求
2、使用JSP,SERVLET,SQL等动态网页开发工具;3、 提出合理的设计方案;4、 功能要求完整;5、 每人至少完成对数据库的增删改查的操作 具体要完成的任务是:A. 用户登录,利用函数检查账号和密码输入的完整性;B. 书店管理,当用户登录成功后,通过该功能模块进入新书录入,书目查询,信息修改,旧书删除界面。C. 新书录入,在此界面输入新书的详细信息D. 书目查询,根据书名查询书的信息。此功能可扩充。E. 信息修改,通过此界面根据书名修改书本信息F. 旧书删除,根据书名删除该书信息时间安排 6月29日 布置课程设计任务,确定设计题目;6月30 日 查阅资料、 准备程序,上机调试程序、书写课程
3、设计报告; 至 7月2 日 7月3日 提交课程设计报告及相关文档具体要求1. 课程设计报告按统一通用格式书写,具体格式要求请在网络上查阅;2. 每位学生应独立完成各自的任务且每天至少在设计室工作半天;指 导 教 师 签 名: 15 年 6月25日教研室主任(或责任教师)签名: 15 年 6月25日目录1 概述11.1 JSP简介和运行原理11.2 开发背景12 需求分析22.1 系统需求22.2 功能模块图23 数据库设计33.1 数据库需求分析33.2 数据库逻辑结构设计44 详细设计54.1 系统概述5411用户界面部分5412管理界面部分54.2详细代码及说明54.2.1 用户登录程序设
4、计54.2.2 书店管理程序设计85 系统测试235.1 登录界面235.2 书店管理界面235.3 新书录入界面245.4 书目查询界面255.5 信息修改界面255.6 旧书删除界面266 总结27参考文献27致谢281 概述1.1 JSP简介和运行原理JSP(Java Server Pages)是由Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准,JSP技术在Servlet技术基础上发展起来的,它正在飞速发展中,现已成为Java服务器编程的重要组成部分。它虽然还未成型,但是它必将和J2EE(Java 2 Enterprise Edition)一起发展
5、。JSP是结合markup(HTML和XML)和Java代码来处理一种动态页面。每一页第一次被调用时,通过JSP引擎自动被编译成Servlet,然后被执行,以后每次调用时,执行编译过的Servlet。JSP提供了多种方式访问Java class、Servlet、Applets和Web Server,因此,Web应用的功能可以分成多个明确定义公用接口的组件,通过JSP将它们结合在一起。 在JSP第一次获得来自于客户端浏览器的请求时,JSP文件将被JSP引擎(JSP engine)转换成一个Servlet,即将”.jsp”文件编译成Java Class文件。当Servlet引擎接收到请求后,如果设
6、置了使用最新的JSP,它就会去找JSP文件,检查该文件在上次编译后是否改动过。如果改动过,就会重新编译生成新的Servlet,最终将请求转交给编译好的Servlet引擎执行。1.2 开发背景随着网络与计算机信息技术的发展,信息技术作为工具被引入商务活动的领域从而产生了电子商务。电子商务就是利用信息技术将商务活动的各实体通过互联网络结合从而实现商务活动过程。目前,网上书店在国际互联网上可以实现的商务已经多样化,可以完成从最基本的信息展示、信息发布功能到在线交易、在线客户服务、在线网站管理功能等,可以说,传统书店所具备的功能几乎都可以在互联网上进行电子化的高效动作。作为一个虚拟的商店,网上商店具有
7、很多新的特性,以下这些是它的优势:其营业成本完全有理由比传统意义上的商店低得多,不需支持昂贵的店铺租金,花费浩大的装修,不需要将大笔的流动资金作为货物而沉积在店里,可依靠“零库存”管理,缩速资金周转的周期,可以加速周期。网上商店更容易开拓全场市场,国际互联网实现24小时营业,不需要营业员,网上商店可以被设置成一个自动售货机。通过网上购物,购物者足不出户,可以节省很多时间,给消费者带来利润和便利。2 需求分析2.1 系统需求 本系统是一个中小型的电子商务系统-网上书店,可以为各类用户提供方便的在线买书环境,符合目前国内流行的电子商务模式。管理员可以通过用户管理、定单管理、商品管理等管理功能来对系
8、统进行维护更新。具体要完成的任务是:1.用户登录,利用函数检查账号和密码输入的完整性;2.书店管理,当用户登录成功后,通过该功能模块进入新书录入,书目查询,信息修改,旧 书删除界面。3.新书录入,在此界面输入新书的详细信息4.书目查询,根据书名查询书的信息。此功能可扩充。5.信息修改,通过此界面根据书名修改书本信息6.旧书删除,根据书名删除该书信息2.2 功能模块图 按照系统的需求要求,可以把系统功能进行分解,以便按照每个功能模块的要求分别实现对应的功能。系统总体结构如下图1-1所示:书店管理系统 信息修改 删除旧书 书目查询 新书录入用户登录图1-1系统结构图用户可以修改部分图书信息,像书名
9、、价格、类别这样的信息都能作修改;用户还可以删除、添加书本信息。3 数据库设计数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率,以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。3.1 数据库需求分析针对本系统功能分析,总结出如下的需求信息。1.用户,包括数据项:用户ID、用户名、密码。2.图书,包括数据项:图书编号、图书名、价格、图书介绍。 用户登录的E-R图如图3-1所示:用户用户名密码用户编号E-mail 图3-1 用户实体E-R图 图书的E-R图如图3-2所示图书 作者 书名价格类别: 图3-2 图书实体E
10、-R图3.2 数据库逻辑结构设计 网上书店数据库中各个表的设计结果如下所示。图书信息表如图3-3:字段名数据类型长度允许空说明nameint4书名bookclassvarchar255图书类别authorvarchar100yes图书作者bookNovarchar100yes书号pricetinyint1yes价格表3-3图书信息表shudian用户信息表如图3-4:字段名数据类型长度允许空说明usernamevarchar4no用户名passwordvarchar100no密码 表3-4用户信息表user-info4 详细设计4.1 系统概述411用户界面部分1.用户注册2.用户登录412管
11、理界面部分图书管理:1.新书录入 2.书目查询 3.信息修改 4.旧书删除4.2详细代码及说明4.2.1 用户登录程序设计 这是一个以客户为中心的交易平台,只有成为了系统的合法用户才能够使用这个系统,因此需要检验每个用户的合法性,管理用户登录的login.jsp和login.html正是要完成这样的功能。1. Login.jspString path = request.getContextPath();String basePath = request.getScheme()+:/+request.getServerName()+:+request.getServerPort()+path+
12、/;String CheckLogin(String Login1,String Password1) throws ExceptionString Login=Login1.trim();String Password=Password1.trim();String result=null;Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver);String url=jdbc:sqlserver:/localhost:1328;DatabaseName=bookstore;String username=sa;String pa
13、ssword=123456;Connection conn=DriverManager.getConnection(url,username,password);PreparedStatement stmt=conn.prepareStatement(select * from user_info where username=?);stmt.setString(1,Login);ResultSet rs=stmt.executeQuery();if(!rs.next()result=无此账号;elseif(!rs.getString(userPasswd).equals(Password)r
14、esult=密码错误;elseresult=登陆成功;rs.close();stmt.close();conn.close();return result; String UserNm=request.getParameter(username); String UserPasswd=request.getParameter(userPasswd); String strCheckLogin=CheckLogin(UserNm,UserPasswd); if(strCheckLogin.equals(登陆成功) session.setAttribute(UserNm,UserNm); sess
15、ion.setAttribute(UserPasswd,UserPasswd); response.sendRedirect(LoginSuccess.jsp); base href= My JSP Login.jsp starting page 使用者登录 请重新登录 2. LogFrm.html LogFrm.html !- 用户登录 用户名称: 用户密码: 4.2.2 书店管理程序设计管理员对书店的管理操作,包括:新书录入、书目查询、信息修改、旧书删除。新书录入包括append-1.jsp和append-2.jsp1.append-1.jsp:String path = request.
16、getContextPath();String basePath = request.getScheme()+:/+request.getServerName()+:+request.getServerPort()+path+/; base href= My JSP append_1.jsp starting page 新书录入 书名: 书号: 作者: 单价: 类别: 数据录入: 返回 2.append-2.jsp:String path = request.getContextPath();String basePath = request.getScheme()+:/+request.ge
17、tServerName()+:+request.getServerPort()+path+/; base href= My JSP append_2.jsp starting page 0) return true; else return false; 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
18、. query-1.jspString path = request.getContextPath();String basePath = request.getScheme()+:/+request.getServerName()+:+request.getServerPort()+path+/; base href= My JSP query_1.jsp starting page 书目查询 按书名查询: String name=null; String number=null; int writer,price,type; Class.forName(com.microsoft.sqls
19、erver.jdbc.SQLServerDriver); String url=jdbc:sqlserver:/localhost:1328;DatabaseName=bookstore; String username=sa; String password=123456; Connection conn=DriverManager.getConnection(url,username,password); ResultSet rs=(ResultSet)session.getAttribute(rs); if(rs!=null) out.print(信息查询结果); out.print()
20、; out.print(); out.print(+书名+); out.print(+书号+); out.print(+作者+); out.print(+单价+); out.print(+类别+); out.print(); while(rs.next() out.print(); name=rs.getString(1); out.print(+name+); number=rs.getString(2); out.print(+number+); writer=rs.getInt(3); out.print(+writer+); price=rs.getInt(4); out.print(
21、+price+); type=rs.getInt(5); out.print(+type+); out.print(); out.print(); else out.println(无数据);% 返回 2. query-1.jspString path = request.getContextPath();String basePath = request.getScheme()+:/+request.getServerName()+:+request.getServerPort()+path+/; base href= My JSP query_2.jsp starting page Res
22、ultSet chaxun(String name) throws Exception Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver); String url=jdbc:sqlserver:/localhost:1328;DatabaseName=bookstore; String username=sa; String password=123456; Connection conn = DriverManager.getConnection(url,username,password); String sql= sel
23、ect * from shudian where name like +name+%+; Statement stmt=conn.createStatement(); ResultSet rs=stmt.executeQuery(sql); return rs;/执行SQL语句,进行账号查询 String name=request.getParameter(name); ResultSet shu=chaxun(name); if(shu=null) session.setAttribute(rs,null); elsesession.setAttribute(rs,shu); response.sendRedirect(query_1.jsp);% 信息修改包括modify_1.jsp和modify_2.jsp。1. modify-1.jspString path = request.getContextPath();String basePath = request.getScheme()+:/+request.getServerName()+:+request.getServerPort()+path+/; base href= My JSP modify1.jsp starting page 信息修改