已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JSP课程设计课程设计报告 设计题目:图书销售管理系统二一五年 七 月Java高级程序设计 课程设计报告目 录1 项目背景12 需求分析12.1 系统功能需求12.2 系统技术需求13 系统概要设计23.1 系统总体结构23.2 系统总体功能23.2.1 后台管理功能33.3 数据库设计34 系统详细设计与实现34.1 查询模块34.2 进货模块44.3 登录模块55 总结5参考文献613JSP课程设计 课程设计报告1 项目背景 图书销售管理的自动化需求迫切,但是专业的大型商业软件价格昂贵而且功能庞杂而无法满足需求。本软件免费,简单,实用,满足小型书商的管理需求,是开发组对java的jsp+web+sql系统的合作训练,开发难度不高,主要协作技术实现。2 需求分析2.1 系统功能需求为了能够管理图书销售,通常要建立一套数据库系统,把书籍的信息以及其他资料信息保存记录下来。而最终系统要操作方便,让所有店主都能够使用。功能主要包括用户对各个模块的需求。 (1) 管理员功能(后台功能)l 图书查询功能:根据客户提供的信息,查询书籍。并把需要的书籍放入购物车l 图书浏览功能:查看所有书籍,并把需要的书籍放入购物车l 图书进货功能:进货增加库存。l 图书退货功能:顾客把己买的书籍退还给书店。输出一份退货单并自动修改库存量,把本次退货的信息添加到退货库中。l 图书统计功能:统计到目前为止所销售和退货的书籍,计算总收入。l 购物车功能:存放顾客/店家的购书单/进货单。(2)前台功能l 登录功能:用户登录。2.2 系统技术需求系统采用JSP技术作为功能开发,HTML和CSS作为前端页面实现, 数据库采用Navicat for MySQL,利用Myeclipse 2014 集成开发工具进行开发和调试。(1) 硬件环境:普通个人电脑(2) 操作系统:WINDOWS2005以及以上版本操作系统(3) 数据库系统:Navicat for MySQL(4) WEB服务器:TOMCAT6.0以上(5) JAVA运行环境:采用JR1.5以上版本(6) 客户端:IE7.0 ,遨游等3 系统概要设计本系统是店主电脑所用的个人图书销售管理系统,因此应该构建在本地网络上,通过上网的方式随时使用。3.1 系统总体结构图书销售管理系统是一个基于B/S架构的系统。系统的用户在客户端通过IE浏览器来访问图书销售管理系统。为了保证系统的安全性和稳定性,下面是这个系统的模型图。图3-1为图书销售管理系统的结构设计图。图3-1 图书销售管理系统设计结构图3.2 系统总体功能在线新闻发布系统,需要建立一套数据库系统,以及后台可简单操作的系统来进行对各种信息的操作。从实际用途的角度出发,系统的总体功能进行大致的规划为前台功能和后台管理,如图3-2所示。图3-2 系统总体功能图3.2.1 后台管理功能店主打开网页后可以进行查询书籍,进货等一系列的操作,登录后可以形成订单。3.2.2 登录功能店主打开网页进行登录。3.3 数据库设计详见数据库设计文档。4 系统详细设计与实现4.1 查询模块用户将需查询书籍的信息输入到文本框中,选择查询范围,程序文件中的表单把数据提交到sevlet页面。程序得到sevlet页面的表单提交的数据后,从数据库的表中取出包含用户输入的信息的书籍信息记录,然后跳转到查询结果显示页面,显示查询结果。查询界面如图4-1和图4-2图4-1 查询界面图4-2 查询结果显示界面查询流程图如图4-3所示:图4-3主要代码package servlet;import javabean.DataByPage;import javabean.Login;import com.mysql.jdbc.Connection;import com.sun.rowset.*;import java.sql.*;import java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class searchbookservlet extends HttpServlet String rowSet=null; public void init(ServletConfig config) throws ServletException super.init(config); public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException request.setCharacterEncoding(utf-8); String searchMess= request.getParameter(searchMess); String radioMess= request.getParameter(radio); if(searchMess=null|searchMess.length()=0) fail(request,response,没有查询信息,无法查询); return; String condition=; if(radioMess.equals(书号) condition = SELECT * FROM 书籍信息 where 书号 LIKE %+searchMess+%; else if(radioMess.equals(书名) condition = SELECT * FROM 书籍信息 where 书名 LIKE %+searchMess+%; else if(radioMess.equals(作者) condition = SELECT * FROM 书籍信息 where 作者 LIKE %+searchMess+%; HttpSession session=request.getSession(true); DataByPage dataBean=null; try dataBean=(DataByPage)session.getAttribute(dataBean); if(dataBean=null) dataBean=new DataByPage(); /创建Javabean对象 session.setAttribute(dataBean,dataBean); catch(Exception exp) dataBean=new DataByPage(); session.setAttribute(dataBean,dataBean); try rowSet=new String(); rowSet=condition; dataBean.setRowSet(rowSet); /行集数据存储在dataBean中 catch(Exception exp) response.sendRedirect(byPageShow.jsp);/重定向到byPageShow.jsp public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException doPost(request,response); public void fail(HttpServletRequest request,HttpServletResponse response, String backNews) response.setContentType(text/html;charset=utf-8); try PrintWriter out=response.getWriter(); out.println(); out.println(+backNews+) ; out.println(返回:); out.println(查询); out.println(); catch(IOException exp) BEANpackage javabean;import com.sun.rowset.*;import java.sql.*;public class DataByPage String rowSet=; String shuhao=; int pageSize=5;/每页显示的记录数 int totalPages=1;/分页后总页数 int currentPage=1; double shuliang=1;public double getshuliang() return shuliang;public void setshuliang(double shuliang) this.shuliang = shuliang;public String getRowSet() return rowSet;public void setRowSet(String rowSet) this.rowSet = rowSet;public String getshuhao() return shuhao;public void setshuhao(String shuhao) this.shuhao = shuhao;public int getPageSize() return pageSize;public void setPageSize(int pageSize) this.pageSize = pageSize;public int getTotalPages() return totalPages;public void setTotalPages(int totalPages) this.totalPages = totalPages;public int getCurrentPage() return currentPage;public void setCurrentPage(int currentPage) this.currentPage = currentPage;4.2 进货模块打开进货页面,选择进货书籍,输入数量,点击按钮(放入购物车)将数据提交到sevlet页面。程序得到sevlet页面的表单提交的数据后,从数据库的表中取出包含用户输入的信息的书籍信息记录,然后放入购物车表中,打开购物车页面点击生成点单(进货)按钮,将进货信息加入到进货信息表中。进货界面如图4.2-1图4.2-14.3 登录模块打开登录页面,输入账号密码,点击按钮(提交)将数据提交到sevlet页面。程序得到sevlet页面的表单提交的数据后,从数据库的表中取出包含用户输入的信息的书籍信息记录进行验证,验证成功后,跳转到首页,失败测弹出失败信息 进货界面如图4.3-1图4.3-1主要代码package servlet;import java.sql.*;import java.io.*;import javabean.Login;import javabean.Register;import javax.servlet.*;import javax.servlet.http.*;import java.util.*;public class HandleLogin extends HttpServlet public void init(ServletConfig config) throws ServletException super.init(config); public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException request.setCharacterEncoding(utf-8); String logname=request.getParameter(logname).trim(), password=request.getParameter(password).trim(); Login userBean=new Login(); /创建的Javabean模型 request.setAttribute(userBean,userBean); HttpSession session=request.getSession(true); try userBean=(Login)session.getAttribute(loginBean); String userName = root; /密码 String userPasswd = 123456; /数据库名 String dbName = kcsj; /联结字符串 String url = jdbc:mysql:/localhost:3306/ + dbName + ?user= + userName + &password= + userPasswd; Class.forName(com.mysql.jdbc.Driver).newInstance(); Connection conn = (Connection) DriverManager.getConnection(url); Statement statement = conn.createStatement(); ResultSet rs=statement.executeQuery(select logname,password from 用户); while (rs.next() String name=rs.getString(1); String mima=rs.getString(2); String backNews;if(name.equals(logname) if(mima.equals(password) backNews=登录成功; userBean.setBackNews(backNews); userBean.setLogname(logname); request.getSession().setAttribute(zhanghao,logname); response.sendRedirect(index.jsp); else backNews=账号或密码错误; userBean.setBackNews(backNews); catch(Exception exp) userBean=new Login(); session.setAttribute(loginBean,userBean); userBean.setBackNews(logname+登录成功); userBean.setLogname(logname); public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException doPost(request,response); public void fail(HttpServletRequest request,HttpServletResponse response ,String logname,String backNew
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 儿科护理团队建设
- 2026年广州铁路职业技术学院单招职业技能考试题库及答案详解(考点梳理)
- 2026年广西工业职业技术学院单招职业适应性测试题库附参考答案详解(达标题)
- 2026年平顶山工业职业技术学院单招职业倾向性测试题库附答案详解(夺分金卷)
- 2026年山西金融职业学院单招职业技能考试题库及完整答案详解1套
- 2026年广东省珠海市单招职业倾向性考试题库附参考答案详解(考试直接用)
- 2025年AI驱动的胸部影像危急值自动预警系统
- 2025年智能眼镜光学模组质量改进案例
- 2025年小学数学四则混合运算练习题库考试
- 社交焦虑测量工具
- 加盟三方合同协议书范本
- RFID技术应用案例
- 2025年华电集团应聘笔试题目及答案
- 2025年高考英语新课标Ⅱ卷点评及2026备考方向 课件
- 有限空间及作业场所隐患图
- 2024年江苏中职职教高考统考语文试卷试题真题(精校打印)
- 长沙学法减分题库及答案
- DB31/T 1363-2022口腔综合治疗台水路卫生管理要求
- 中考道德与法治一轮专题复习课件专题四 生命的思考(含答案)
- 《数学(下册)第8版》中职全套教学课件
- DL∕T 1441-2015 智能低压配电箱技术条件
评论
0/150
提交评论