后台模块
一:后台用户模块
  1. 引入后台管理页面
  2. 创建adminuser表:
CREATE TABLE `adminuser` (
  `uid` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(255) DEFAULT NULL,
  `password` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`uid`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
  1. 创建包、类:
  • com.weiwei.shopping.adminuser
    • action :AdminUserAction
    • service :AdminUserService
    • dao : AdminUserDao
    • vo :AdminUser + AdminUser.hbm.xml
  1. 功能实现:类似User登录实现
           index.jsp  ---->  AdminUserAction  调用   AdminUserService  调用   AdminUserDao
 
二:后台一级分类管理模块
  1. 查询一级分类:

    • 点击左边树形菜单上的一级分类管理:
    • 修改请求路径:
    • 编写后台管理的Action
      • com.weiwei.shopping.category.adminaction
      • adminaction
      • AdminCategoryAction
    • 配置这个Action:
      • applicationContext.xml
      • struts.xml
  2. 添加一级分类:
    • 在一级分类列表页面上点击”添加”按钮.
               * 跳转到一个添加页面.
    • 在添加页面上,输入一级分类名称.
               * 将一级分类的数据,添加到数据库中.
  1. 删除一级分类:

    • 在一级分类列表页面上点击”删除”链接.
               * 传递一级分类的id.
    • 在Action中:
 * 接收一级分类id
 * 调用Service完成删除.
 * 页面跳转.
  1. 修改一级分类

    • 先根据cid进行查询,转到edit.jsp页面显示数据;
    • 在edit.jsp页面可显示该二级分类的原信息并可编辑保存修改
    • (执行adminCategory_update.action)。
       
三:后台二级分类管理
  1. 查询二级分类
  2. 添加二级分类
    • 在二级分类列表页面上点击”添加”按钮,跳转到添加页面
      • 查询所有的一级分类
    • 在页面上显示出所有的一级分类下拉列表
    • 在添加页面上点击确定
      • 将二级分类的数据保存到数据库
  3. 删除二级分类
    • 在二级分类列表页面上点击”删除”链接
      • 传递删除二级分类id
    • 在Action中接收二级分类id
      • 删除二级分类
      • 先查询在删除.配置cascade属性
  1. 修改二级分类

    • 在二级分类的列表页面上点击”编辑”链接
      • 传递二级分类的id
    • 根据二级分类id查询二级分类.将二级分类数据显示到页面上
      • 查询所有一级分类
    • 跳转到编辑页面
    • 在编辑页面点击确定按钮
      • 将数据修改到数据库.
 
四:后台商品管理
  1. 查询商品:(带分页)

    • 在左边树形菜单上,添加一个节点:商品管理.
    • 创建包:
      • com.weiwei.shopping.product
        • adminaction
        • AdminProductAction
    • 查询:
      • 带分页查询:
    • 配置:
 
  1. 添加商品:(包括上传商品的图片)
    • 在商品列表页面点击"添加"按钮:
      • 查询所有的二级分类:
      • 页面跳转:商品添加页面.
    • 在添加商品的页面
      • 将数据添加到数据库.
      • 完成商品图片上传.
      • struts2框架中文件上传:
      • 文件的条件:
        1. 表单提交的方式需要是POST
        2. 表单中上传项必须有一个name属性.
        3. 表单的enctype属性值需要是multipart/form-data
 
  1. 删除商品:
    • 在商品列表页面上点击"删除"链接:
      • 传递商品的pid.
    • 删除商品的图片.
    • 页面跳转:
 
  1. 修改商品:(上传商品的图片)
    • 1.在商品列表页面上点击"编辑"链接:
      • 传递商品的id.
    • 2.在Action中:
      • 根据商品的id查询商品
      • 查询所有的二级分类集合
      • 页面跳转:
    • 3.在编辑页面:点击”确定”按钮:
      • 将数据保存到数据库中.
      • 修改上传的图片.
      • 页面跳转:
 
五:后台订单管理——只允许查询订单和修改订单状态
  1. 查询订单:
    • 1.在左边树形菜单中添加一个节点:订单管理.
    • 2.创建包、类:
      • com.weiwei.shopping.order
      • adminaction :AdminOrderAction
    • 3.提交到Action中:
      • 传递page参数
      • 分页查询
    • 4.跳转页面:
      • 显示订单:
  1. 订单详情的查看:
    • 1.在订单列表页面中点击”订单详情”按钮:
      • 传递订单oid.
    • 2.使用AJAX异步获取当前这个订单的订单项.
 
  1. 订单状态修改:
    • 1.在后台订单列表页面上点击”发货”链接:
      • 传递订单id
    • 2.在Action中
      • 根据订单id查询订单
      • 修改订单状态:
      • 页面转向:
 
六:前台订单状态修
  1. 在我的订单页面上点击”确认收货”链接:
    • 传递订单id.
  1. 在Action中:
    • 根据订单id查询订单
    • 修改订单状态
    • 页面转向
 
拦截器模块
 
一:后台权限校验拦截器
  1. 拦截器:可以对Action的访问进行拦截。
  2. 编写拦截器:
    • 编写一个类实现Interceptor接口,或者继承Interceptor的子类。
    • 在struts配置文件中配置拦截器。
 
 
 

SSH实战 · 唯唯乐购项目(下)的更多相关文章

  1. SSH实战 · 唯唯乐购项目(上)

    前台需求分析 一:用户模块 注册 前台JS校验 使用AJAX完成对用户名(邮箱)的异步校验 后台Struts2校验 验证码 发送激活邮件 将用户信息存入到数据库 激活 点击激活邮件中的链接完成激活 根 ...

  2. SSH实战 · 唯唯乐购项目(中)

    用户模块 三:一级分类的查询 创建一级分类表并导入基本数据 CREATE TABLE `category` (   `cid` int(11) NOT NULL AUTO_INCREMENT,   ` ...

  3. Asp.Net Core 2.0 项目实战(8)Core下缓存操作、序列化操作、JSON操作等Helper集合类

    本文目录 1.  前沿 2.CacheHelper基于Microsoft.Extensions.Caching.Memory封装 3.XmlHelper快速操作xml文档 4.Serializatio ...

  4. iTunes Store:隐藏和取消隐藏已购项目

    使用 Mac 或 PC 上的 iTunes 来隐藏或取消隐藏已购项目. 如何隐藏已购项目 在 Mac 或 PC 上打开 iTunes. 从 Store 菜单中,选取商店 > 登录,然后输入您的 ...

  5. SSH实战OA 11:BBS模块

    <SSH实战OA>系列博客的系统管理.权限管理等内容后面再补上吧,先继续第三个模块:网上交流模块.网上交流主要做两个需求:论坛管理和论坛. BBS的一些基本术语: 板块:也叫做" ...

  6. 《实战突击:PHP项目开发案例整合(第2版)(含DVD光盘1张)》

    <实战突击:PHP项目开发案例整合(第2版)(含DVD光盘1张)> 基本信息 作者: 徐康明    辛洪郁 出版社:电子工业出版社 ISBN:9787121221378 上架时间:2014 ...

  7. 在Eclipse上使用egit插件通过ssh协议方式上传项目代码的具体步骤

    在Eclipse上使用egit插件通过ssh协议方式上传项目代码 前戏: 使用ssh方式可以不通过https协议,避免直接提供账号密码的方式上传项目到git在线服务器,如Bitbucket.GitHu ...

  8. NET Core微服务之路:实战SkyWalking+Exceptionless体验生产下追踪系统

    原文:NET Core微服务之路:实战SkyWalking+Exceptionless体验生产下追踪系统 前言 当一个APM或一个日志中心实际部署在生产环境中时,是有点力不从心的. 比如如下场景分析的 ...

  9. scrapy电影天堂实战(二)创建爬虫项目

    公众号原文 创建数据库 我在上一篇笔记中已经创建了数据库,具体查看<scrapy电影天堂实战(一)创建数据库>,这篇笔记创建scrapy实例,先熟悉下要用到到xpath知识 用到的xpat ...

随机推荐

  1. java head space/ java.lang.OutOfMemoryError: Java heap space内存溢出

    上一篇JMX/JConsole调试本地还可以在centos6.5 服务器上进行监控有个问题端口只开放22那么设置的9998端口 你怎么都连不上怎么监控?(如果大神知道还望指点,个人见解) 线上项目出现 ...

  2. Python-Jenkins API使用 —— 在后端代码中操控Jenkins

    最近在工作中需要用到在后台代码中触发Jenkins任务的构建,于是想到Jenkins是否有一些已经封装好的API类库提供,用于处理跟Jenkins相关的操作.下面就简单介绍下我的发现. Linux C ...

  3. Oracle Database 12c Data Redaction介绍

    什么是Data Redaction Data Redaction是Oracle Database 12c的高级安全选项之中的一个新功能,Oracle中国在介绍这个功能的时候,翻译为“数据编纂”,在EM ...

  4. jQuery之Deferred源码剖析

    一.前言 大约在夏季,我们谈过ES6的Promise(详见here),其实在ES6前jQuery早就有了Promise,也就是我们所知道的Deferred对象,宗旨当然也和ES6的Promise一样, ...

  5. 分布式系列文章——从ACID到CAP/BASE

    事务 事务的定义: 事务(Transaction)是由一系列对系统中数据进行访问与更新的操作所组成的一个程序执行逻辑单元(Unit),狭义上的事务特指数据库事务. 事务的作用: 当多个应用程序并发访问 ...

  6. Windows API 设置窗口下控件Enable属性

    参考页面: http://www.yuanjiaocheng.net/webapi/create-crud-api-1-put.html http://www.yuanjiaocheng.net/we ...

  7. CSS入门常见的问题

    写在前面:本文简单介绍一下css的三大特性:层叠性.继承性.优先级.以及margin,padding,浮动,定位几个知识点.限于水平,不深入探讨,仅作为学习总结. 1,三特性 1)层叠性:同标签同权重 ...

  8. Oracle创建表空间

    1.创建表空间 导出Oracle数据的指令:/orcl file=C:\jds.dmp owner=jds 导入Oracle数据的指令:imp zcl:/orcl file=C:\jds.dmp fu ...

  9. MySQL 数据库双向同步复制

    MySQL 复制问题的最后一篇,关于双向同步复制架构设计的一些设计要点与制约. 问题和制约 数据库的双主双写并双向同步场景,主要考虑数据完整性.一致性和避免冲突.对于同一个库,同一张表,同一个记录中的 ...

  10. mysql 写入优化

    1 主从分离 从表读取,主表可以去掉索引 2 先写入到文件或redis,定时刷新到库 3 用nginx 4 分库 分表 每个库表的数据总量少了 插入会快一点 5 最大限度减少查库的次数 6 一条sql ...