宠物管理系统(宠物商店)拥有两种角色,分别为管理员和用户,具体功能如下:
用户:首页浏览宠物信息、购买宠物、个人订单管理、留言、修改个人信息等
管理员:宠物管理、宠物类型管理、订单管理、公告管理、留言管理、用户管理等
1.1 背景描述随着社会的发展和人们生活水平的提高,养宠物的人越来越多,宠物商店也随之增多。然而,传统的宠物商店管理方式存在很多问题,如手动记录库存、销售情况容易出错、管理效率低下等。因此,开发一款宠物商店管理系统,可以帮助商店更好地管理商品、客户和订单,提高工作效率,提升服务质量。
宠物商店管理系统是一款基于计算机技术的管理软件,可以帮助商店实现自动化管理。通过该系统,商店可以轻松管理商品信息、客户信息、订单信息、员工信息等,实现信息的实时更新和共享。同时,系统还可以提供销售统计、库存管理、报表生成等功能,帮助商店更好地掌握经营情况,做出科学的决策。
后端框架:SSH(Spring、Struts、Hibernate)
前端框架:Easyui、jsp、css、JavaScript、JQuery
2.1 SSHSSH框架是struts+spring+hibernate的一个集成框架,是2016年之前较为流行的一种Web应用程序开源框架。集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate。
2.2 mysqlMySQL是一款Relational Database Management System,直译过来的意思就是关系型数据库管理系统,MySQL有着它独特的特点,这些特点使他成为目前最流行的RDBMS之一,MySQL想比与其他数据库如ORACLE、DB2等,它属于一款体积小、速度快的数据库,重点是它符合本次毕业设计的真实租赁环境,拥有成本低,开发源码这些特点,这也是选择它的主要原因。
用户可以通过此界面登录系统,以及通过注册界面进行注册。注册时,前端会自动进行信息校验。
4.2 用户模块首页功能:用户可以根据类型筛选宠物,查看重新详情,将宠物加入购物车,直接购买宠物等
个人订单管理:用户可以根据订单看查看自己的订单信息
其它功能:用户可以系统留言、修改个人信息
4.3 管理员模块宠物管理:管理员可以通过宠物名称模糊查询宠物,还可以增加、删除、修改宠物信息,以及设置为热卖、特价等
宠物类型管理:管理员可以通过名称筛选类型,并能增加、删除、修改类型信息
订单管理:管理员可以通过订单号和订单人搜索订单信息,还可以查看订单详情、审核订单、修改发货状态
公告管理:管理员可以通过名称筛选公告,并能增加、删除、修改公告信息
留言管理:管理员可以通过名称筛选留言,并能增加、删除、修改留言信息,还可以回复用户的信息
用户管理:管理员可以通过用户名筛选用户,并能增加、删除、修改用户信息
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation=" http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd"> <bean id="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource"><property name="driverClassName"value="com.mysql.cj.jdbc.Driver"></property><property name="url"value="jdbc:mysql://localhost:3306/db_ebuy?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true"></property><property name="username" value="root"></property><property name="password" value="root"></property></bean> <!-- session工厂 --> <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> <property name="dataSource"> <ref bean="dataSource" /> </property> <property name="configLocation" value="classpath:hibernate.cfg.xml"/> <!-- 自动扫描注解方式配置的hibernate类文件 --> <property name="packagesToScan"> <list> <value>com.briup.entity</value> </list> </property> </bean> <!-- 配置事务管理器 --> <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <!-- 配置事务通知属性 --> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <!-- 定义事务传播属性 --> <tx:attributes> <tx:method name="insert*" propagation="REQUIRED" /> <tx:method name="update*" propagation="REQUIRED" /> <tx:method name="edit*" propagation="REQUIRED" /> <tx:method name="save*" propagation="REQUIRED" /> <tx:method name="add*" propagation="REQUIRED" /> <tx:method name="new*" propagation="REQUIRED" /> <tx:method name="set*" propagation="REQUIRED" /> <tx:method name="remove*" propagation="REQUIRED" /> <tx:method name="delete*" propagation="REQUIRED" /> <tx:method name="change*" propagation="REQUIRED" /> <tx:method name="get*" propagation="REQUIRED" read-only="true" /> <tx:method name="find*" propagation="REQUIRED" read-only="true" /> <tx:method name="load*" propagation="REQUIRED" read-only="true" /> <tx:method name="*" propagation="REQUIRED" read-only="true" /> </tx:attributes> </tx:advice> <!-- 配置事务切面 --> <aop:config> <aop:pointcut id="serviceOperation" expression="execution(* com.briup.service.*.*(..))" /> <aop:advisor advice-ref="txAdvice" pointcut-ref="serviceOperation" /> </aop:config> <!-- 自动加载构建bean --> <context:component-scan base-package="com.briup" /> </beans>
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 5.2 其它核心代码/** * 判断指定用户名的用户是否存在 * @return * @throws Exception */public String existUserWithUserName()throws Exception{boolean exist=userService.existUserWithUserName(userName);//写入JSON对象JSONObject result=new JSONObject();if(exist){//用户存在result.put("exist", true);}else{//用户不存在result.put("exist", false);}ResponseUtil.write(ServletActionContext.getResponse(), result);return null;}/** * 用户注册 * @return * @throws Exception */public String register()throws Exception{userService.saveUser(user);return "register_success";}/** * 用户登录 * @return * @throws Exception */public String login()throws Exception{HttpSession session=request.getSession();//当前用户User currentUser=userService.login(user);//判断用户类型if(currentUser==null){error="用户名或密码为空!";if(user.getStatus()==2){return "adminError";}else{return ERROR;}}//验证验证码else if(!imageCode.equals(session.getAttribute("sRand"))){error="验证码错误";if(user.getStatus()==2){return "adminError";}else{return ERROR;}}else{session.setAttribute("currentUser", currentUser);}if(currentUser.getStatus()==2){return "adminLogin";}else{return "login";}}/** * 注销用户 * @throws Exception */public String logout()throws Exception{request.getSession().invalidate();return "logout";}/** * 管理员注销 * @return * @throws Exception */public String logout2()throws Exception{request.getSession().invalidate();return "logout2";}/** * 用户中心 * @return * @throws Exception */public String userCenter()throws Exception{navCode=NavUtil.genNavCode("个人中心");mainPage="userCenter/ucDefault.jsp";return "userCenter";}/** * 获取用户信息 * @return * @throws Exception */public String getUserInfo()throws Exception{navCode=NavUtil.genNavCode("个人中心");mainPage="userCenter/userInfo.jsp";return "userCenter";}/** * 修改个人信息预操作 * @return * @throws Exception */public String preSave()throws Exception{HttpSession session=request.getSession();user=(User)session.getAttribute("currentUser");navCode=NavUtil.genNavCode("个人中心");mainPage="userCenter/userSave.jsp";return "userCenter";}/** * 保存用户信息 * @return * @throws Exception */public String save()throws Exception{HttpSession session=request.getSession();userService.saveUser(user);session.setAttribute("currentUser", user);navCode=NavUtil.genNavCode("个人中心");mainPage="userCenter/userInfo.jsp";return "userCenter";}/** * 后台-保存用户信息 * @return * @throws Exception */public String saveUser()throws Exception{userService.saveUser(user);JSONObject result=new JSONObject();result.put("success", true);ResponseUtil.write(ServletActionContext.getResponse(), result);return null;}/** * 分页查询用户信息 * @return * @throws Exception */public String list()throws Exception{//分页查询PageBean pageBean=new PageBean(Integer.parseInt(page),Integer.parseInt(rows));List<User> userList=userService.findUserList(s_user, pageBean);//获取总记录数long total=userService.getUserCount(s_user);//封装JSON串JsonConfig jsonConfig = new JsonConfig();//过滤orderlistjsonConfig.setExcludes(new String[]{"orderList"});//处理JSON传来的时间格式jsonConfig.registerJsonValueProcessor(java.util.Date.class, new DateJsonValueProcessor("yyyy-MM-dd"));JSONArray rows=JSONArray.fromObject(userList,jsonConfig);JSONObject result=new JSONObject();result.put("rows", rows);result.put("total", total);ResponseUtil.write(ServletActionContext.getResponse(), result);return null;}/** * 删除用户 * @return * @throws Exception */public String deleteUsers()throws Exception{JSONObject result=new JSONObject();String []idsStr=ids.split(",");for(int i=0;i<idsStr.length;i++){User u=userService.getUserById(Integer.parseInt(idsStr[i]));userService.delete(u);}result.put("success", true);ResponseUtil.write(ServletActionContext.getResponse(), result);return null;}/** * 修改密码 * @return * @throws Exception */public String modifyPassword()throws Exception{User u=userService.getUserById(user.getId());u.setPassword(user.getPassword());userService.saveUser(u);JSONObject result=new JSONObject();result.put("success", true);ResponseUtil.write(ServletActionContext.getResponse(), result);return null;}public void setServletRequest(HttpServletRequest request) {// TODO Auto-generated method stubthis.request=request;} }
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213相关知识
宠物管理系统 宠物商店的设计与实现 (含源码+sql+视频导入教程+论文+PPT)
基于SSM的体育赛事管理系统的设计与实现 (含源码+sql+视频导入教程+论文+PPT)
基于SSM的宠物商店管理系统5(含源码+sql+视频导入教程)
基于ssm的宠物领养管理系统的设计与实现 (含源码+sql+视频导入教程+文档+PPT)
基于ssm的宠物领养管理系统的设计与实现 (含源码+sql+视频导入教程)
基于springboot的宠物医院管理系统4的设计与实现 (含源码+sql+视频导入教程+文档)
基于SSM的宠物用品管理系统(含源码+sql+视频导入教程+文档+PPT)
毕设项目:宠物网站的设计与实现(JSP+java+springmvc+mysql+MyBatis)
springboot+vue宠物商店管理系统【开题+程序+论文】
基于java的宠物用品店管理系统的设计与实现论文.doc
网址: 宠物管理系统 宠物商店的设计与实现 (含源码+sql+视频导入教程+论文+PPT) https://m.mcbbbk.com/newsview704019.html
上一篇: 电子宠物机(电子宠物机怎么用) |
下一篇: 宠物巴西龟的美食世界 |