zoukankan      html  css  js  c++  java
  • 淘淘商城练习

     

    PS:项目文件架构

     -------------------Day2 

    PS: 电商项目中一般是不进行(或尽量少)  关联查询  因为并发的原因

              Sku:最小库存量单位。就是商品id。就是商品最细力度的划分。每个sku都唯一对应一款商品,商品的颜色、配置都已经唯一确定。

    4Ssm框架整合
    4.1整合的思路
    4.1.1Dao层
    使用mybatis框架。创建SqlMapConfig.xml。
    创建一个applicationContext-dao.xml
    1、配置数据源
    2、需要让spring容器管理SqlsessionFactory,单例存在。
    3、把mapper的代理对象放到spring容器中。使用扫描包的方式加载mapper的代理对象。
    
    4.1.2Service层
    1、事务管理
    2、需要把service实现类对象放到spring容器中管理。
    
    4.1.3表现层
    1、配置注解驱动
    2、配置视图解析器
    3、需要扫描controller
    
    4.1.4Web.xml
    1、spring容器的配置
    2、Springmvc前端控制器的配置
    3、Post乱码过滤器

     PS: 为啥不全部扫描Spring下所有的包,因为两者是不同的容器

     ------------------------------------------------------

    PS: 需要注意的问题: WEB-INF中数据是不能直接访问的,所以需要使用一个pageControler进行转换

    package com.taotao.controller;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.PathVariable;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    /**
     * 页面跳转controller
     * <p>Title: PageController</p>
     * <p>Description: </p>
     * <p>Company: www.itcast.com</p> 
     * @author    入云龙
     * @date    2015年9月2日上午11:11:41
     * @version 1.0
     */
    @Controller
    public class PageController {
    
        /**
         * 打开首页
         */
        @RequestMapping("/")
        public String showIndex() {
            return "index";
        }
        /**
         * 展示其他页面
         * <p>Title: showpage</p>
         * <p>Description: </p>
         * @param page
         * @return
         */
        @RequestMapping("/{page}")
        public String showpage(@PathVariable String page) {
            return page;
        }
    }

     

    1.1.1.1.1 分页测试

    public class TestPageHelper {

    @Test

    public void testPageHelper() {

    //创建一个spring容器

    ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:spring/applicationContext-*.xml");

    //从spring容器中获得Mapper的代理对象

    TbItemMapper mapper = applicationContext.getBean(TbItemMapper.class);

    //执行查询,并分页

    TbItemExample example = new TbItemExample();

    //分页处理

    PageHelper.startPage(2, 10);

    List<TbItem> list = mapper.selectByExample(example);

    //取商品列表

    for (TbItem tbItem : list) {

    System.out.println(tbItem.getTitle());

    }

    //取分页信息

    PageInfo<TbItem> pageInfo = new PageInfo<>(list);

    long total = pageInfo.getTotal();

    System.out.println("共有商品:"+ total);

    }

    }

    注意:分页插件对逆向工程生成的代码支持不好,不能对有查询条件的查询分页。会抛异常。

    使用我修改过的版本就可以了

    ----------------------------------------------------------------------------------------------------------------------------

     PS : 图片上传

    Ps:传统情况下,上传图片放在项目的image目录下,但是文件多了就不能这么操作了。 采用负载均衡,
    因为负载均衡器使用轮训算法,上传的时候没有同步会出现有时找到,有时找不到的情况

    PS:集群的情况,就是图片专门放在一个图片服务器上,这样就能共享图片了

     

     PS:Web-INF下的文件是无法直接访问的 ,必须用Controller转一下

    PS: 什么是Jsonp

     

     

  • 相关阅读:
    洛谷-P1855 榨取kkksc03
    Error: ORA-06502: PL/SQL: 数字或值错误 : character string buffer too small(触发器中使用系统动态视图导致)
    jwt ctf
    apktool+nuclei mobile
    Subdomain Takeover via Fastly ( Steps )
    乱七八糟
    Recon
    推荐几个我感觉不错的tips
    子域名收集
    清除Cookie的数据
  • 原文地址:https://www.cnblogs.com/bee-home/p/9882220.html
Copyright © 2011-2022 走看看