JAVAWeb项目 微型商城项目-------(七)后台添加用户管理和商品类型管理操作

1.创建商品类型的vo实体类

用户的vo之前已经创建

2.定义DAO接口—-实现类

a.实现用户通用的CRUD以及增加对用户的状态(激活,锁定)修改,查询的操作
b.实现对商品类型的CRUD操作

3.定义service接口—实现类

通过工厂类实现具体方法 得到需要的数据

4.定义servlet类调用service方法

完成对网页前台的数据支持和传递,和网页跳转

5.完成网页设计布局

☆以商品类型列表输出为例

1.vo类(Itme)

public class Item implements Serializable {
  private static final long serialVersionUID = -4704111517446993209L;
  private int iid;
  private String title;
  //get , set 方法略

2.DAO接口类(IItmeDAO)

    命名规则:interface首字母+vo类名称[首字母大写]+DAO    驼峰命名
public interface IItmeDAO extends IDAO<String, Item> {
  /**
   * 
   * @Title: findsAll   
   * @Description: TODO(查询所有数据)   
   * @param: @return
   * @param: @throws Exception      
   * @return:     List <Itme>     
   * @throws
   */
public List<Itme> findsAll() throws Exception;
}

3.IItmeDAO的实现类(ItmeDAOImol)

    命名规则: vo类名称+DAO+imop(首字母大写)   驼峰命名
//jdbc略
public class ItmeDAOImol implements IItmeDAO {
  static Connection conn = null;
  static PreparedStatement ps = null;
  static ResultSet rs = null;
@Override
  public List<Item> findsAll() throws Exception {
    try {
      List<Item> items = new ArrayList<Item>();
      conn = JDBCUtil.getConn();
      String sql = "SELECT * FROM  item  ;";
      ps = conn.prepareStatement(sql);
      rs = ps.executeQuery();
      while (rs.next()) {
        Item item = new Item();
        item.setIid(Integer.parseInt(rs.getString(1)));
        item.setTitle(rs.getString(2));
        items.add(item);
      }
      return items;
    } catch (SQLException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    } finally {
      JDBCUtil.release(conn, ps, rs);
    }

    return null;
  }
  }

4.实例化工程类


//实例化DAO工厂类
public class DAOfactory {
//实例化ItemDAO (解耦合)
  public static IItemDAO getIItemServiceback() {
    return new ItemDAOImol();
  }
  //实例化Service工厂类
public class ServiceBackFactory {
  public static IItemServiceback getIItemServiceback() {
    return new ItemServicebackImpl();
  }

5.service接口

public interface IItemServiceback {
  /**
   * 
   * @Title: show   
   * @Description: TODO(查询所有商品信息的方法)   
   * @param: @return      
   * @return: Item      
   * @throws
   */
  public List<Item> showAll();
}

6.IItemServiceback接口的实现类(ItemServicebackImpl)


public class ItemServicebackImpl implements IItemServiceback {

//返回值List<Item>  取得查询的作品类型数据
  @Override
  public List<Item> showAll() {
    try {
      return DAOfactory.getIItemServiceback().findsAll();
    } catch (Exception e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    return null;
  }

6.Web层处理操作(ItemServletBack)


@WebServlet(name = "ItemServletBack", urlPatterns = "/pages/back/admin/item/MemberServletBack/*")
public class ItemServletBack extends HttpServlet {

  private static final long serialVersionUID = 1L;

  @Override
  protected void service(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
    // path:保存跳转地址
    String path = "/pages/errors.jsp";
    // status 获取地址*的部分转换为字符串
    String status = request.getRequestURI().substring(request.getRequestURI().lastIndexOf("/") + 1);
    // 为空直接跳转到错误页面
    if (status != null) {
      if ("list".equals(status)) {
        System.out.println("如果地址为/pages/back/admin/item/MemberServletBack/list进行后台登录操作");
        path = findItmeAll(request);

      }
    }
    // 不进入if语句直接跳转到错误页面
    request.getRequestDispatcher(path).forward(request, response);
  }

  /**
   * 
   * @Title: findItmeAll   
   * @Description: TODO(查询所有商品种类)   
   * @param: @param request
   * @param: @return      
   * @return: String      返回显示商品页面
   * @throws
   */
  private String findItmeAll(HttpServletRequest request) {
    List<Item> items = ServiceBackFactory.getIItemServiceback().showAll();
    request.setAttribute("items", items);
    return "/pages/back/admin/item/item_list.jsp";
  }
}

7.前台页面处理

取得  request.setAttribute("items", items); 数据反应到页面上

包结构

包结构

猜你喜欢

转载自blog.csdn.net/kikock/article/details/80875877