• mvc:二


    回顾:BaseServlet的抽取

      统一处理请求的方法request.getParameter("method")

        通过反射获取方法对象

        让方法执行

      统一处理请求转发

        规定所有的方法都有返回值:String

        若需要转发,返回转发路径

        若不需要转发,返回null

      统一处理错误页面

      设置默认执行方法(index)

    用户注册  发送邮件

    用户激活  先通过code查找用户  再修改

    用户登录  判断是否激活了

    用户退出  session.invalidate()

    前台分类信息展示

    需求:访问任意页面的时候,都需要将分类的信息展示出来

    技术分析:

      将共同的内容抽取包含(静态包含和动态包含)

      访问任意一个页面应该携带包含的信息(ajax)

    步骤分析

      1.创建分类表(见store.sql文件中,category表创建数据插入部分)

      2.抽取所有页面上 logo和菜单部分(head.jsp),把index.jsp里面写菜单栏和导航条部分的代码抽取到head.jsp中,然后在index.jsp中<%@include file=""%>静态包含:注意包含与转发路径写内部路径

        页面加载的时候

        编写函数

          发送ajax请求 $.post(url,params,fn,type);

            url:/store/category(category:分类,这次查分类模块的servlet)

            params:method=findAll

            founction(方法):将返回值遍历,每一个分类封装成li标签,插入到ul标签内部

            type(返回):返回list集合,list集合扔页面不好使,所以用json。将json转list用JsonList

          后台编写categoryservlet,继承baseservlet,编写findAll方法

            调用service,查询所有的分类, 分类列表  的json字符串(String)

            现在有了字符串,需要将字符串  写回  页面

          categroyservice中的操作

            调用dao,获取所有的分类

            将list转成json返回

      3.在所有的页面里将head.jsp包含进去(代码上面)

        获取json返回值

        遍历返回值

        每一个分类封装成li标签,插入到ul标签内部

    由于导航条和菜单栏部分一般不变化,如果每个人访问都进行遍历一次,那么服务器的压力会很大。所以使用redis进行优化

    (理解)。。。。。。没学redis.。。。。。跳过

    最新商品和热门商品展示

    需求:访问首页的时候,需要将 最新商品 和 热门商品 展示出来(这些东西都是从数据库中查出来的)

    方式一:ajax异步(太啰嗦,东西要拼字符串)

    方式二:同步方式(思考:jsp只是展示的,那么数据要什么时候去查?数据是servlet去查的,但是由谁去发请求什么时候发?)

    使用同步分析:请求的是localhost:8080/store但首页是localhost:8080/store/jsp/index.jsp如何保证路径不变,但是页面显示----------请求转发

    0.创建商品表

    1.访问项目首页,请求转发indexservlet

      indexservlet中使用默认index处理,调用productservice查询热门商品(is hot字段)和最新商品(时间排序),每一个都返回一个list

      将两个list放入request域中,请求转发到/jsp/index.jsp

    2.在页面上将数据遍历出来

    单个商品的详情

     需求:

      在首页上点击每个商品,将这个商品的详细信息展示在页面上(product_info.jsp)即点击上面的商品图片出现商品详细信息

    步骤分析:

      1.给每个商品添加超链接<a href="/store/product?method=getById&pid=xxx">yyy</a>

      2.编写productServlet,继承BaseServlet,编写getById方法

        获取商品的pid

        调用service获取一个商品,返回值:product

        请求转发到product_info.jsp

      3.service.dao

      4.在product_info.jsp将商品展示

    分类商品的展示

    需求:点击菜单栏上某一个分类的时候,将该分类下的商品,分页展示出来(默认第一页)

    技术分析:

      分页

        页面上需要的数据(将其封装成一个bean)

        当前页数据  当前页  总页数  总记录数  每页显示的条数

      limit m,n----------->limit (当前页-1)*每页显示的条数,每页显示的条数

    步骤分析:

      1.点击菜单栏的一个分类超链接,修改head.jsp上的每个分类的超链接(点击后出现的页面是分页的)

        <a href = "/store/product?method = findByPage&pageNumber=1&cid=xxx">

      2.在productservlet中需要编写findByPage方法

        获取pagenumber  获取cid  设置pageSize

        调用service获取分页的数据  返回值:PageBean

        将pagebean放入request域中,请求转发/jsp/product_list.jsp

      3.编写service

        返回值pagebean  创建一个pagebean

        设置当前页需要的数据 调用dao

        设置总记录数 调用dao

      4.dao

      5.在jsp/product_list.jsp上展示商品

    第二天总结

     1.展示分类商品用到包含(jsp静态包含)和ajax(页面加载时确定了事件),用到了json

     2.最新商品和热门商品(访问首页的时候就需要将他们展示出来 IndexServlet)

     3.单个商品详情的展示

     4.导航栏的分类信息的展示(展示后的页面点击单个商品,照样能获取到商品详情(添加链接到详情servlet)),涉及到分页功能

        

      

         

  • 相关阅读:
    JMeter基础篇--录制web脚本(四)
    jmeter的基础使用(二)
    jmeter安装教程(一)
    delete用法(删除表内容)
    update用法(修改表内容)
    IPy对网段的处理
    netmiko
    读写conf文件
    读写json文件
    excel及数据处理
  • 原文地址:https://www.cnblogs.com/djlindex/p/11430822.html
Copyright © 2020-2023  润新知