2026/5/19 2:31:36
网站建设
项目流程
怎么做国外网站,长春微信公众号开发,大理网站建设沛宣,自己建立网站怎么搞花卉后台管理系统
1#xff0e;实习目的
1.1 使学生全面了解软件项目实施的过程#xff0c;理解软件企业对于程序员的基本素质和技术能力要求。
1.2 学习掌握 htmlcssjs 前端开发的设计和编码。
1.3 使学生掌握 JSP 及 Servlet 基本的 JavaEE 编程技术#xff0c;能够综…花卉后台管理系统1实习目的1.1 使学生全面了解软件项目实施的过程理解软件企业对于程序员的基本素质和技术能力要求。1.2 学习掌握 htmlcssjs 前端开发的设计和编码。1.3 使学生掌握 JSP 及 Servlet 基本的 JavaEE 编程技术能够综合运用 MySQL 数据库及 MyEclipse 开发环境进行小型项目的开发。1.4 重点培养学生的团队精神和协作意识提高其口头和书面的沟通能力。1.5 使学生掌握快速学习新知识、新技术方法培养良好的分析问题和解决问题的能力1.6 重点提高学生的编程能力使学生建立正确的编程理念养成规范的编程习惯。2实习过程2.1 技术准备1.bootstrap-3.3.6CSS 前端框架2.jquery-2.2.1js 框架3.Maven3.3.3项目构建工具4.SpringMVCSpringMybatis项目后台架构设计5.三层架构项目分层次模块划分6.MVC按照 MVC 规范设计7.RESTful 风格超链接网址请求地址按照 RESTFul 风格设计8.DTOMVC 中使用数据传输对象传递数据按照面向对象的设计方式设计9.数据校验用户提交表单数据校验10.哈希文件打散用户上传文件按照文件名哈希码在服务端文件夹中打散11.filter浏览器缓存控制、中文编码处理、登陆拦截、数据压缩12.代码重用、可维护性使用大量配置文件配置项目模块后期维护方便13.单元测试、集成测试三层架构开发过程中分层次单元测试并系统集成测试14.MD5 加密用户密码 MD5 加密15.ajax 网页异步刷新网页异步刷新减少全网页刷新导致的性能开销16.多条件搜索未填写的条件选项自动忽略都未填写的查询全表17.开发环境开发环境 IntelliJIDEA15.0.2JDK1.8mysql50611Tomcat82.2 项目实施2.2.1 功能需求2.2.1.1 需求分析根据需求要求系统具有以下功能由于该系统针对对象较少是针对后台管理的操作具有权限、订购、管理、维护功能。在相应的权限下具有删除或修改数据。方便的全方位的数据查询。2.2.1.2 可行性分析随着科技的发展竞争也越发激烈、残酷商家传统的经营方式对于现今社会的竞争已明显感觉到力不从心。顾客作为市场的最大资源已成为网络电子商务的核心谁在管理上争先谁就取的了最大的成功对管理的把握将最终决定商家的命运。网上订花管理系统正是在这种需求下经过深入的市场调研和网络系统化的指导应运而生。系统具有完善的商品查询和管理功能基本能够中小型网店的需要。2.2.1.3 各功能模块详细功能分析网上花店后台管理系统是一个非常有特点的管理系统系统由系统管理、商品管理、客户关系、订单管理、基本设置和退出系统 6 功能模块组成规划系统功能模块如下系统管理系统管理主要包括数据库备份和数据库还原。商品管理商品管理主要包括新到商品添加、商品查询、商品修改、商品删除商品查看和分页。客户关系客户关系主要显示客户关系图和订花时间以及查询和维护客户关系。订单管理订单管理模块主要包括订单添加、订单修改、订单删除、订单多条件查询、分页功能。基本设置基本设置主要是管理员列表设置和员工列表增删改查。退出系统退出系统管理员的登录 session 清空防止停留的网页被不法分子利用。2.2.2 总体设计2.2.2.1 设计目标本系统是根据中小网店的实际需求而开发的完全能够实现商家对网店的管理通过本系统可以达到以下目标系统运行稳定安全可靠。界面设计美观人机交互界面友好。信息查询灵活、方便、快捷、准确数据存储安全可靠。采用多种方式查询数据。管理员随时可以修改自己的登录。对用户输入的数据系统进行严格的数据检验尽可能排除人为的错误。数据保密性强。2.2.2.2 开发及运行环境系统开发平台IntelliJIDEA15.0.2JDK1.8Tomcat8mysql5.06.11运行平台JDK1.8Tomcat8mysql5.06.11 分辨率最佳效果 1366*768 浏览器Chrome、FirefoxCPUi32.4GHz;内存512MB 以上2.2.2.3 数据库设计本系统采用 MySQL 数据库系统数据库名为 flower数据库中包括 5 个数据表。下面分别给出数据库概要说明和数据表的结构。1数据库概要说明如图 2 所示的即为本系统中数据库中的数据表的树形结构图该数据表树型结构图包含系统所有数据表。可以清晰地反应数据库信息。图 2 数据库概要说明2数据表结构由于篇幅所限关于数据库中的数据表请参见附录二 2.2.2.4系统总界面如图2.2.2.5 系统结构图2.2.2.6 代码总系统结构严格按照三层架构和 MVC 的设计思想进行设计主要模块如下DaoServiceModelWebControllerJSP 整个系统采用面向接口编程方便后期系统维护其中 Dao 只定义了接口实现由 MyBatis 自动完成Service 和 WebController 交由 SpringIoC 容器管理实现依赖注入、控制反转各个模块实例初始化由 Spring 自动维护提高系统整体性。2.2.3 详细设计与编码由于篇幅原因并且严格遵循三层架构设计因此只贴出核心的数据库操纵的 MyBatis 配置文件。2.2.3.1 商品管理模块设计1商品添加商品管理模块采用手动录入在本模块中的主要功能是首先添加花种这是系统的入口点添加花种主要有花的名称、花的价格、备注、图片这四个字段单用户点击添加花种会出现表单输入页面在输入中会有字段的验证包括字符和价格的验证如果输入的不是数字系统会进行提示并拒绝提交。2图片上传和服务器图片处理添加图片会弹出图片文件选择框进行选择添加到数据库中的是图片的地址而不是二进制数据这样方便减轻系统的压力保证系统的运行速度真正的图片文件以普通文件上传的形式使用 commons-fileupload 组件上传到服务器进行保存并且在服务器中用 UUID 算法为图片生成唯一文件名并按照该文件名进行哈希打散将图片文件分散到 256 个不同的文件夹中在一定程度上避免了服务器文件夹中文件数量过多导致的效率问题。3商品查询在商品管理的上方会有按商品查询的输入框当输入产品名称时点击查询会在下面显示商品的具体信息并支持模糊查询。4商品修改和删除在显示页面会有修改和删除的操作当用户点击修改时会弹出修改页面同样的包括名称、价格、备注和图片四个选项然后点击提交信息会更新到数据库中但点击删除的系统会进行逻辑删除数据库的数据同时在显示页面会有分页的功能每页会显示 10 中商品在下方会用相应的提示。商品管理 SQL 核心代码部分mapper namespacecn.coselding.flowerms.dao.FlowerDao !-- 目的为 dao 接口方法提供配置 -- insert idinsert parameterTypeFlower insert into flowers(flowerName,price,images,remarks,number) VALUES (#{flowerName},#{price},#{images},#{remarks},#{number}); /insert delete iddelete delete from flowers where flowerID#{flowerID}; /delete update idupdate parameterTypeFLower update flowers set flowerName #{flowerName}, price#{price}, images#{images}, remarks#{remarks}, number#{number} where flowerID#{flowerID}; /update select idqueryById resultTypeFlower parameterTypeint select * from flowers where flowerID#{flowerID}; /select select idqueryAll resultTypeFlower select * from flowers; /select select idqueryCount resultTypeint select count(*) from flowers; /select select idqueryPage resultTypeFlower select * from flowers limit #{startindex},#{pagesize}; /select select idqueryCountByName resultTypeint select count(*) from flowers where flowerName LIKE %${flowerName}%; /select select idqueryPageByName resultTypeFlower select * from flowers where flowerName LIKE %${flowerName}% limit #{startindex},#{pagesize}; /select /mapper2.2.3.2 客户关系设计模块客户关系管理模块是相对于系统中比较简单切相对比较好理解的模块他的主要功能就是协助管理员进行用户的分析进行对不同客户信息的收集和展示对潜在的客户进行挖掘。客户查询同样的在显示页面中有客户名称查询当输入客户名称时会在显示页面进行客户项目信息的显示显示的是客户名称、订货时间、备注、删除链接。客户来源通过订单进行显示的提取订单表中的所有不同用户形成一个列表供管理员查看。客户删除当进行对客户关系进行删除时订单中的信息同样的会一同删除删除同样的是进行逻辑删除。客户关系 SQL 核心代码select idqueryCustomerCountByName resultTypeint select count(*) from orders where sendName LIKE %${customerName}% group by sendName; /select select idqueryCustomerPageByName resultTypeOrder select * from orders where sendName LIKE %${customerName}% group by sendName limit #{startindex},#{pagesize}; /select select idqueryCustomerCount resultTypeint select count(*) from orders group by sendName; /select select idqueryCustomerPage resultTypeOrder select * from orders group by sendName limit # {startindex},#{pagesize}; /select select idqueryCustomerAll resultTypeOrder select * from orders group by sendName; /select delete iddeleteCustomer delete from orders where sendName#{sendName}; /delete2.2.3.3 订单管理设计模块订单管理设计模块是系统中最具核心的功能模块所有的功能都是围绕订单管理进行展开的首先他具体的功能是按订单号查询、订单日期查询、定花人查询、业务员查询这四大查询条件在对使用日期进行查询的同时使用了 HTML5 最新的日期控件。在显示页面中订单的显示非常灵活和丰富显示的字段主要包括订单号、订单日期、发送时间、送花人和收花人信息、订单状态、业务员等等并支持多搜索条件同时作用或部分条件搜索随用户选择。订单添加当用户点击添加订单会弹出添加表单页面花名和业务员都是从数据库中进行读取的供用户选择的付款状态是分为两种未付款、已付款订单状态有三种正在进行中、已取消、已完成发送状态有两种已发送、未发送当用户点击生成订单的时候会进行对数据库的插入。同样的在显示页面中有修改和删除功能修改的功能如果添加订单的实现页面大同小异页面显示同样实现分页。订单管理 SQL 核心代码?xml version1.0 encodingUTF-8 ? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//EN http://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecn.coselding.flowerms.dao.OrderDao !-- 目的为 dao 接口方法提供配置 -- insert idinsert parameterTypeOrder insert into orders(orderDate,sendTime,receiveName,receiveTel,receiveAdd,payStat e,salesman,sendState,remarks,status,flowerID,quantity,sendName) VALUES (#{orderDate},#{sendTime},#{receiveName},#{receiveTel},#{receiveAdd}, # {payState},#{salesman},#{sendState},#{remarks},#{status},#{flowerID} ,#{quantity},#{sendName}); /insert delete iddelete delete from orders where orderID#{orderID}; /delete update idupdate parameterTypeOrder update orders SET orderDate#{orderDate}, sendTime#{sendTime}, receiveName#{receiveName}, receiveTel#{receiveTel}, receiveAdd#{receiveAdd}, payState#{payState}, salesman#{salesman}, sendState#{sendState}, remarks#{remarks}, status#{status}, flowerID#{flowerID}, quantity#{quantity}, sendName#{sendName} where orderID#{orderID}; /update select idqueryById resultTypeOrder select * from orders where orderID#{orderID}; /select select idqueryCount resultTypeint select count(*) from orders; /select select idqueryPage resultTypeOrder select * from orders o,worker w where o.salesmanw.workerID limit #{startindex},#{pagesize}; /select select idsearchOrdersCount resultTypeint select count(*) from orders where (#{orderID}-1 or orderID#{orderID}) and (#{sendMan} or sendName LIKE %${sendMan}%) and (#{saleman}-1 or salesman#{saleman}) and (orderDate #{startTime}) and (orderDate ![CDATA[]] #{endTime}); /select select idsearchOrdersPage resultTypeOrder select * from orders where (#{orderID}-1 or orderID#{orderID}) and (#{sendMan} or sendName LIKE %${sendMan}%) and (#{saleman}-1 or salesman#{saleman}) and (orderDate #{startTime}) and (orderDate ![CDATA[]] #{endTime}) limit #{startindex},#{pagesize}; /select /mapper2.2.3.4 基本设置模块设计基本设置模块分为管理员管理和职工管理因为本系统是针对用户后台管理员进行开发的所以在设置模块中管理是具有最高权限的他可以添加删除修改员工的信息但是管理员是不能删除的。在管理员中有添加管理员功能进行添加用户点击添加管理员的时候会弹出添加页面进行显示然后提交信息。职工管理功能当用户点击员工管理的时候会弹出员工的界面会有按职工编号和职工姓名进行查询同样的在显示页面会有删除和修改的链接都是进行对员工管理进行操作在下面会有添加员工的按钮进行对员工的添加。MD5 加密对管理员密码使用 MD5 加密进行存储的在本系统中使用的登录是 admin密码是 123456在数据库中存储的密码是“e10adc3949ba59abbe56e057f20f883e”这样是为了方便对管理密码的管理并减少密码泄露的风险。管理员账号管理核心 SQL 代码mapper namespacecn.coselding.flowerms.dao.UserDao !-- 目的为 dao 接口方法提供配置 -- insert idaddUser parameterTypeUser !-- 具体的 sql -- insert into user (username,password,name,cardID,tel,address,email) VALUES (#{username},#{password},#{name},#{cardID},#{tel},#{address},#{email} ); /insert select idquery4Login resultTypeUser select * from user where username #{username} and password#{password}; /select select idqueryAdmins resultTypeUser select * from user; /select select idqueryById resultTypeUser select * from user where userID#{userID}; /select /mapper职工信息管理核心 SQL 代码mapper namespacecn.coselding.flowerms.dao.WorkerDao insert idinsert parameterTypeWorker insert into worker(workername,status) VALUES (#{workername},#{status}); /insert update idupdate parameterTypeWorker update worker set workername#{workername}, status#{status} where workerID#{workerID}; /update delete iddelete delete from worker where workerID#{workerID}; /delete select idqueryAll resultTypeWorker select * from worker; /select select idsearchWorker resultTypeWorker select * from worker where (#{workerID}-1 or workerID#{workerID}) and (#{workername} or workername like %${workername}%); /select select idqueryById resultTypeWorker select * from worker where workerID#{workerID}; /select /mapper2.2.3.5 退出系统模块当用户点击退出管理系统的时候系统会删除服务器 session并退回到登录页面防止登录的页面 session 被不法分子利用从而泄露用户信息。退出系统的 SpringMVCController 核心代码RequestMapping(value /logout, method RequestMethod.GET) public String logout(HttpSession session, Model model) { if (session ! null session.getAttribute(user) ! null) { session.removeAttribute(user); } if (session ! null) { session.invalidate(); } return redirect:/login.jsp; }2.2.4 测试2.2.4.1 主页2.2.4.2 系统管理2.2.4.3 商品管理2.2.4.4 商品查看2.2.4.5 添加花种2.2.4.6 订单管理2.2.47 订单添加2.2.48 基本设置2.2.4.9 管理员资料管理2.2.4.10 职工资料管理2.2.4.11 添加职工2.2.4.12 退出系统后登录页面3实习体会通过这次的实习我主要通过完成一个完整的项目把之前学习的 SpringMVCSpringMybatis 框架在实际项目中得到使用和练习并使用 Maven 构建项目和维护项目依赖把学习到的理论知识在实践当中得以使用对这些框架的使用变得娴熟也在开发过程中遇到了一些问题不过也都在参考书和网上博客的参考中使问题得到了解决。对于我的薄弱部分——前端也在这次的项目开发中学会了 bootstrap、jQuery、AJAX 网页异步刷新的入门使用并通过这些前端框架作出了还算好看的页面也消除了我对前端设计的恐惧心理这算是这次开发中收获最大的东西了而网址的设计也遵循了 RESTFul 风格让网址的显示显得更加有意义这次的作品简单来说算是比较合格的一个作品通过这次的作品我对整个 JavaWeb 的项目开发过程和整项目使用技术有了一个较为深入的理解和认识对我之后的就业帮助很大。4总结与建议在两个星期的实训过程中大体了解了整个实训的内容和课程安排体会较深的一点是同学们之间的水平差异较大安排的课程对学过的人来说太过简单但是对于没学过的同学来说一次性在两星期内教了 htmlcssjs、Servlet、JSP、Filter、JDBC、MySQL、MVC 模式学习压力较大根据很多同学的反映就是短时间内消化不了这么多知识点导致在做最后作品的过程中不知所措遇到 bug 不会解决的问题希望以后要是还有这类的实训可以根据同学们的不同水平安排相应的培训这样有利于同学们更好地学习也不会抹杀基础不好的同学们的学习编程的兴趣。注该系统作品已部署到外网服务器中测试帐号 admin密码 123456域名为本人所有整个作品除数据表建表为老师提供外均为本人独立完成本人未同意任何人参考代码作品如有雷同纯属他人未经本人许可盗用特此声明附录一 参考文献1菜 鸟 教 程 Bootstrap 教 程 文 档 http://www.runoob.com/bootstrap/bootstrap-tutorial.html2菜 鸟 教 程 jQuery 教 程 文 档 http://www.runoob.com/jquery/jquery-tutorial.html3Spring 官方文档https://spring.io/docs4菜 鸟 教 程 AJAX 教 程 http://www.runoob.com/ajax/ajax-tutorial.html5JQuery-Ajax 教 程 http://www.runoob.com/jquery/jquery-ajax-intro.html6MyBatis 官方文档http://www.mybatis.org/mybatis-3/zh/7SpringMVC 官方文档http://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html附录二 数据表1admins管理员表管理员信息表 B.1 管理员表表(admins)字段名数据类型长度主键描述adminIdint11是idadminvarchar20用户名statustinyint4逻辑删除状态passwordvarchar80密码MD5emailvarchar40找回密码邮箱2flowers商品信息表表 B.2 商品信息表flowers字段名数据类型长度描述flowerIDint11主键flowerNamevarchar50花名pricedecimal12价格imagesvarchar100图片地址remarkstext2备注numberint11商品库存量3orders订单信息主表订单信息主表结构如表 B.3 所示表 B.3 订单信息主表表orders字段名数据类型主键描述orderIDint是商品订单编号orderDateDatatime订单日期sendTimeDatatime发货日期reciveNameVarchar(40)接收人姓名reciveTelvarchar(40)接收人电话reciveAddvarchar(100)接收人地址payStatetinyint付款状态sendStatetunyint发送状态salesmanint业务员 idremarkstext备注信息statustinyint订单状态sendNameVarchar(40)送花人姓名flowerIDInt花种 idquantityInt订单花的数量4useruser 细表订单明细表结构如表 B.4 所示。表 B.4 用户明细表user字段名数据类型主键描述userIDint是用户 idusernameVarchar(40)用户名passwordVarchar(40)密码 MD5nameVarchar(40)用户姓名emailVarchar(50)用户 emailcardIDVarchar(20)证件号telVarchar(20)电话addressVarchar(100)地址5worker 表worker表 B.5 员工worker字段名数据类型主键描述workerIDint是职工 idworkernameVarchar(40)职工姓名statustinyint职工状态♻️ 资源大小26.5MB➡️资源下载https://download.csdn.net/download/s1t16/87404239注更多内容可关注微信公众号【神仙别闹】如当前文章或代码侵犯了您的权益请私信作者删除