后台模块
一:后台用户模块
  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. 使用 Roslyn 编译器服务

    .NET Core和 .NET 4.6中 的C# 6/7 中的编译器Roslyn 一个重要的特性就是"Compiler as a Service",简单的讲,就是就是将编译器开放为 ...

  2. 算法与数据结构(九) 查找表的顺序查找、折半查找、插值查找以及Fibonacci查找

    今天这篇博客就聊聊几种常见的查找算法,当然本篇博客只是涉及了部分查找算法,接下来的几篇博客中都将会介绍关于查找的相关内容.本篇博客主要介绍查找表的顺序查找.折半查找.插值查找以及Fibonacci查找 ...

  3. EntityFramework的多种记录日志方式,记录错误并分析执行时间过长原因(系列4)

    前言 Entity Framework 延伸系列目录 今天我们来聊聊EF的日志记录. 一个好的数据库操作记录不仅仅可以帮你记录用户的操作, 更应该可以帮助你获得效率低下的语句来帮你提高运行效率 废话不 ...

  4. 【uwp】浅谈China Daily 中划词翻译的实现

    学习uwp开发也有一段时间了,最近上架了一个小应用(China Daily),现在准备将开发中所学到的一些东西拿出来跟大家分享交流一下. 先给出应用的下载链接:China Daily , 感兴趣的童鞋 ...

  5. 基于注解的bean配置

    基于注解的bean配置,主要是进行applicationContext.xml配置.DAO层类注解.Service层类注解. 1.在applicationContext.xml文件中配置信息如下 &l ...

  6. JavaScript学习笔记(三)——this、原型、javascript面向对象

    一.this 在JavaScript中this表示:谁调用它,this就是谁. JavaScript是由对象组成的,一切皆为对象,万物皆为对象.this是一个动态的对象,根据调用的对象不同而发生变化, ...

  7. es6小白学习笔记(一)

    1.let和const命令 1.es6新增了let和const命令,与var用法类似,但它声明的变量只在let所在的代码块内有效(块级作用域,es5只有全局和函数作用域) { let a = 1; v ...

  8. 敏捷转型历程 - Sprint3 Planning

    我: Tech Leader 团队:团队成员分布在两个城市,我所在的城市包括我有4个成员,另外一个城市包括SM有7个成员.另外由于我们的BA离职了,我暂代IT 的PO 职位.PM和我在一个城市,但他不 ...

  9. DevOps对于企业IT的价值

    其实从敏捷延展开的 DevOps 概念很早就已经被提出,不过由于配套的技术成熟度水平层次不齐, DevOps 的价值一直没有有效地发挥出来.现如今,随着容器技术的发展, DevOps 在企业中的实践难 ...

  10. 电脑新建svn仓库

    步骤1:安转svg: 注意事项: 安装的时候选择:Modify 安装到以下图片的步骤时: 黄色区域选择: 步骤2:新建svn仓库文件夹(本教程例子:D:\svn-5gpos),选择文件夹右键,点击下图 ...