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等