后台模块
一:后台用户模块
  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. NodeJs之OS

    OS Node.js提供了一些基本的底层操作系统的模块OS. API var os = require('os'); console.log('[arch] 操作系统CPU架构'+os.arch()) ...

  2. x:bind不支持样式文件 或 此Xaml文件必须又代码隐藏类才能使用{x:Bind} 解决办法

    这两天学习UWP开发,发现一个很有趣的问题,就是我题目中的描述的. 我习惯了在ResourceDictionary中写样式文件,但是发现用x:Bind时会有问题 如果是写在Style里,则提示 “x: ...

  3. Hawk 4.6 并行化

    并行化 Hawk支持单机并行化,也就是使用多线程获取数据.它可以控制目前所有任务的数量,为了不给网站造成过大的压力,仅当任务池中的任务数量小于一定值后,才会插入新的任务. 你可以在数据清洗的 执行面板 ...

  4. Win10 UWP开发系列——开源控件库:UWPCommunityToolkit

    在开发应用的过程中,不可避免的会使用第三方类库.之前用过一个WinRTXamlToolkit.UWP,现在微软官方发布了一个新的开源控件库—— UWPCommunityToolkit 项目代码托管在G ...

  5. Asp.Net Core + Dapper + Repository 模式 + TDD 学习笔记

    0x00 前言 之前一直使用的是 EF ,做了一个简单的小项目后发现 EF 的表现并不是很好,就比如联表查询,因为现在的 EF Core 也没有啥好用的分析工具,所以也不知道该怎么写 Linq 生成出 ...

  6. EC笔记:第4部分:21、必须返回对象时,别返回引用

    使用应用可以大幅减少构造函数与析构函数的调用次数,但是引用不可以滥用. 如下: struct St { int a; }; St &func(){ St t; return t; } 在返回t ...

  7. 信息安全-5:RSA算法详解(已编程实现)[原创]

    转发注明出处:http://www.cnblogs.com/0zcl/p/6120389.html 背景介绍 1976年以前,所有的加密方法都是同一种模式: (1)甲方选择某一种加密规则,对信息进行加 ...

  8. Linux命令【第二篇】

    1.如何过滤出已知当前目录下oldboy中的所有一级目录(提示:不包含oldboy目录下面目录的子目录及隐藏目录,即只能是一级目录). ^:以什么开头,例如^olboy表示以oldboy开头. ls: ...

  9. mysql 5.7中的用户权限分配相关解读!

    这篇文章主要介绍了MySQL中基本的用户和权限管理方法,包括各个权限所能操作的事务以及操作权限的一些常用命令语句,是MySQL入门学习中的基础知识,需要的朋友可以参考下 一.简介 各大帖子及文章都会讲 ...

  10. 打开程序总是会提示“Enter password to unlock your login keyring” ,如何成功关掉?

    p { margin-bottom: 0.1in; line-height: 120% } 一.一开始我是按照网友所说的 : rm -f ~/.gnome2/keyrings/login.keyrin ...