分页
前台
当前页
每页显示数
后台
PageBean
当前页 前台传递
每页显示数 前台传递
总个数 数据库查询 SELECT COUNT(*) FROM 表 WHERE 条件
数据 数据库查询 SELECT * FROM 表 WHERE 条件 LIMIT index,count
index -> (当前页-1)*每页显示数
count -> 每页显示数
总页数 手动计算 总个数%每页显示数 == 0 ? 总个数/每页显示数 : 总个数/每页显示数+1
前台页面
1.数据显示
2.页码的遍历
3.当前页表示
4.上一页/下一页
6.总条数/总页数
动态sql
根据条件的不同.自动生成对应sql语句
########################################################################################################################
过滤器
对访问进行增强(request,response)
入门
xml
1.创建类实现Filter接口
2.实现doFilter()方法,在改方法中,调用filterChain.doFilter(request,response)放行
3.在web.xml中进行配置
<filter
<filter-name
<filter-class
<filter-mapping
<filter-name
<url-pattern
注解
1.创建类实现Filter接口
2.实现doFilter()方法,在改方法中,调用filterChain.doFilter(request,response)放行
3.在类上加@WebFilter("/*")
过滤器拦截路径最常的:
/user/*
/*
*.do
拦截方式
**REQUEST[默认] 浏览器访问(重定向)
**FORWARD 请求转发
**ASYNC 异步请求
INCLUDE
ERROR
过滤器链
执行顺序
ABCD目标资源DCBA
排列规则
注解
按照字母顺序
xml
按先后顺序
动态代理 -> JDK
注意: 必须实现接口
1.目标对象
2.接口 代理对象 = (接口)Proxy.newProxyInstance(目标对象.getClass().getClassLoader(),目标对象.getClass().getInterfaces(),new InvocationHandler(){
public Obejct invoke(Object proxy,Method method,Object[] args){
Object result = null;
if(method.getName().equals("要被增强的方法")){
//需要被增强
//执行方法之前增强的逻辑
result = method.invoke(目标对象,args);
//执行方法之后增强的逻辑
}else{
result = method.invoke(目标对象,args);
}
return result;
}
});
3.代理对象.目标方法进行增强的逻辑执行
ServletContextListener
监听ServletContext的创建(tomcat服务器启动)
监听ServletContext的销毁(tomcat服务器关闭)
|
|