后台模块
一:后台用户模块
  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. 如何一步一步用DDD设计一个电商网站(一)—— 先理解核心概念

    一.前言     DDD(领域驱动设计)的一些介绍网上资料很多,这里就不继续描述了.自己使用领域驱动设计摸滚打爬也有2年多的时间,出于对知识的总结和分享,也是对自我理解的一个公开检验,介于博客园这个平 ...

  2. 【前端性能】高性能滚动 scroll 及页面渲染优化

    最近在研究页面渲染及web动画的性能问题,以及拜读<CSS SECRET>(CSS揭秘)这本大作. 本文主要想谈谈页面优化之滚动优化. 主要内容包括了为何需要优化滚动事件,滚动与页面渲染的 ...

  3. 重撸js_2_基础dom操作

    1.node 方法 返回 含义 nodeName String 获取节点名称 nodeType Number 获取节点类型 nodeValue String 节点的值(注意:文本也是节点) 2.inn ...

  4. 谈谈一些有趣的CSS题目(九)-- 巧妙的实现 CSS 斜线

    开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...

  5. .NET跨平台之运行与Linux上的Jexus服务器

    谈及.NET跨平台,已经不是什么稀奇的事儿.今天我们就以Jexus服务器的部署为例.简单示范下.在这里,我用VMWare虚拟机来搭建Linux运行环境. Linux,我们选择CentOS7.大家可以前 ...

  6. 深入学习jQuery自定义插件

    原文地址:jQuery自定义插件学习 1.定义插件的方法 对象级别的插件扩展,即为jQuery类的实例增加方法, 调用:$(选择器).函数名(参数);      $(‘#id’).myPlugin(o ...

  7. JavaWeb——ServletContext

    一.基本概念 说起ServletContext,一些人会产生误解,以为一个servlet对应一个ServletContext.其实不是这样的,事实是一个web应用对应一个ServletContext, ...

  8. TYPESDK手游聚合SDK服务端设计思路与架构之一:应用场景分析

    TYPESDK 服务端设计思路与架构之一:应用场景分析 作为一个渠道SDK统一接入框架,TYPESDK从一开始,所面对的需求场景就是多款游戏,通过一个统一的SDK服务端,能够同时接入几十个甚至几百个各 ...

  9. [转载]Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结

    本文对Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法进行了详细的总结,需要的朋友可以参考下,希望对大家有所帮助. 详细解读Jquery各Ajax函数: ...

  10. Sass之坑Compass编译报错

    前段时间在使用Compass时遇到了其为难处理的一个坑,现记录到博客希望能帮助到各位. 一.问题: 利用Koala或者是gulp编译提示如下,截图为koala编译提示错误: 二.解决办法 从问题截图上 ...