• JavaWeb之Servlet组件


    JavaWeb之Servlet组件

    JavaWeb之Servlet组件

    设计模式

    • 设计模式分类
      • 单例模式
      • 工厂模式
      • 装饰模式
      • 策略模式
      • 观察者模式
      • 代理模式
    • 按类型分类
      • 创建型
      • 结构型
      • 行为型

    JavaWeb设计模式

    • MVC设计模式
      • M:model。模型,处理业务逻辑
      • V:View。视图,展示数据
      • C:Controller。控制器,调度
    • 优点
      • 维护性好
      • 便于分块开发
      • 更利于代码的复用性

    Servlet三大组件

    • web服务端小程序
    • Filter:过滤器
    • Listener:监听器

    Filter过滤器

    • 什么是过滤器
      • 当客户端浏览器发送请求时,首先交由过滤器进行处理,如果符合过滤规则,name将请求再次发送给服务端,否则,不向服务端发送请求
    • Filter的声明周期
      • init() -- 过滤器初始化,只有一次
      • doFilter() -- 执行过滤
      • destroy() -- 过滤器销毁,只有一次
    • Filter操作
      • 创建一个类,继承Filter,并实现doFilter方法
      • chain.doFilter(req,resp);这个叫续传,如果没有它,过滤器不会将请求发送给服务端
      • 过滤器拦截路径
        • '/' -- 所有请求
        • '*.do' -- 所有的Servlet请求

    Listener

    • Listener:监听器
    • 作用:监听request、session、application
    • 监听方式
      • 生命周期
        • 监听器监听目标对象的创建与销毁
        • 对Session生命周期的监听实现
          • HttpSessionListener
            • sessionCreated(HttpSessionEvent se)
            • sessionDestroyed(HttpSessionEvent se)
            • HttpSessionEvent称为事件源,由哪个对象触发了这个事件
        • Session
          • 监听Session
          • 销毁Session
      • 属性变更
        • 监听器监听目标对象数据的变更
          • 对Session属性变更的监听实现
            • HttpSessionAttrbitelListener
              • attributeAdded(HttpSessionBindingEvent   se) -- 当Session中添加一个新属性时调用此方法
              • attributeReemove(HttpSessionBindingEvent   se) -- 当Session中删除一个属性是调用此方法
              • attributeReplaced(HttpSessionBindingEvent   se) -- 当Session中修改一个属性是调用此方法
          • 对application属性变量
            • ServletContextAttributeListener
              • attributeAdded(ServletContextAttributeEventscae) -- 当application中添加一个新属性时调用此方法
              • attributeRemove(ServletContextAttributeEventscae) -- 当application中删除一个属性时调用此方法
              • attributeReplaced(ServletContextAttributeEventscae) -- 当application中修改一个属性时调用此方法

    分页设计的实现

    • 分页基础
      • 通过SQL命令进行分页查询
        • select * from 表名 limit
      • 查询出总记录数
        • select count(*) from 表名
      • 总页数
        • 总记录数/每页显示的条目数 = 总页数
    • 封装分页
      • 类名称:PageInfo
      • 相关信息:总页数、当前页数、每页显示的数据,URL等
    如有问题,请发送邮件至buxiaqingcheng@163.com或者buxiaqingcheng@dingtalk.com
  • 相关阅读:
    Go学习2-切片
    Go学习1-MOD
    lua学习之逻辑运算符not,and,or
    google protobuf c++ 反射
    我要谴责一下,你们复制别人的答案好歹仔细看看
    远程登录redis
    openssl进行RSA加解密(C++)
    linux通过进程名查看其占用端口
    简体字丶冯|服务网关kong-docker安装
    简体字冯|docker-安装docker私有库
  • 原文地址:https://www.cnblogs.com/zhenzhunaichabujiatang/p/13731102.html
Copyright © 2020-2023  润新知