Javaweb备忘录3
来源:互联网 发布:淘宝北京小白羊 编辑:程序博客网 时间:2024/04/29 03:53
day14-jdbc案例(简单的curd&分页)
分页: 将数据按照页码划分,提高用户的体验度.分类: 逻辑分页:一次性将内容加载到内存(list),获取自己想要的数据 sublist截取.缺点:维护起来麻烦 物理分页:(经常使用) 每次只去查询当前页需要的数据 缺点:和数据库交互多mysql: limit 格式: select ..... limit m,n; [m+1,m+n] 规律: 查看第n也数据: limit (n-1)*pageSize,pageSize每页中需要的数据: 5个 当前页内容 list 通过limit查询 当前页 currPage 前台传递过来 每页显示的条数 pagesize 固定 总条数 totalCount count(*)查询 总页数 Math.ceil(totalCount*1.0/pageSize)封装成一个pagebean////////////////////在前台展示: 1.当前页数据 遍历 pb.list 2.展示首页 上一页... 然后给他们添加超链接 3.判断是否是第一页 若是:不展示 首页和上一页 4.判断是否是最后一页 若是:不展示 尾页和下一页 5.将所有的页码展示 forEach begin="1" end="${pb.totaoPage}" 6.判断是否是当前页 若是:则不加超链接 若不是:加超链接
day15-AJAX&Jquery
原生ajax: 1.获取核心对象 XMLHttpRequest 2.编写回调函数 xmlhttp.onreadystatechange=function(){ if(xmlhttp.readyState==4 && xmlhttp.status==200){ alert(xmlhttp.responseText); } } 3.open操作 设置访问的方式和路径 xmlhttp.open("get","url"); 4.send操作 xmlhttp.send("post的参数") 若有参数需要设置一个头 xmlhttp.setRequestHeader("content-type","form表单enctype属性")////////////////////////jquery中ajax 掌握的: $.get(url,params,fn,type); type:"json" $.post(url,params,fn,type); 理解: $.ajax(选项); 选项: url: type: data: success:fn error: dataType:"json"json:轻量级的数据格式 格式1: {"key":value,"key1":value} 格式2: [e1,e2]jsonlib: 1.导入jar包 2.使用api JSONArray.formObject(数组或者list); JSONObject.formObject(bean或者map);//////////////////////////////////////////获取jquery对象: $("选择器") jQuery("选择器");jquery对象>>dom对象 方式1: jquery对象.get(index); 方式2: jquery对象[index]dom对象>>jquery对象 $(dom对象)页面载入 $(function(){})派发事件 jquery对象.事件(function(){...});选择器: #id值 .class值 标签名 [属性] [属性='值'] a b:后代 a>b:孩子 a+b:大弟弟 a~b:所有弟弟 :first :last :odd :even :eq|gt|lt(index) :hidden :checked :selected属性和css: prop|attr css文本 标签体 val() html() text()文档处理 内部插入 append prepend 外部插入 after before 删除 remove效果: 隐藏|显示 show() hide() 淡入淡出 fadeIn() fadeOut() 滑入滑出 slideDown() slideUp()遍历 jquery对象.each(function(){ });
day16-Listener&Filter
listener(了解) 监听器,监听javaweb中三个域对象 监听对象的创建和销毁 ServletContextListener 在项目启动的时候加载配置文件 ServletRequestListener HttpSessionListener 监听对象的属性的变化 ServletContextAttributeListener ServletRequestAttributeListener HttpSessionAttributeListener 监听javabean在session中状态 注意:让javabean自动感知在session中的状态,不需要在配置文件配置 HttpSessionActivationListener(钝化和活化) HttpSessionBindingListener(绑定和解绑) 编写: 1.编写监听器 2.编写配置文件 <listener> <listener-class> </listener> ///////////////////////////////////filter(★) 过滤器,过滤请求和响应 filter编写步骤: 1.编写一个类 必须实现Filter接口 必须重写方法 2.编写配置文件 注册filter 绑定路径 filter生命周期方法: doFilter(request,response,chain) 使用步骤: 1.强转 2.编写自己的业务 3.放行 url-pattern的配置: 完全匹配 目录匹配 后缀名匹配 多个filter都匹配到的时候,执行时机是根据在xml中的filter-mapping顺序决定 filter-mapping中的两个子标签 servlet-name:过滤指定的servlet dispatcher:过滤那种方式过来的请求 REQUEST:只过滤从浏览器发送过来的请求 (默认) 一旦显式的写出来disparcher 默认的就不起作用了 FORWARD::只过滤请求转发过来的请求////////////////////////////////////////////////////////////////////注解:了解注解,可以使用注解servlet3.0:体验下注解,完成文件上传类加载器(了解)动态代理(★):加强方法
day17-基础加强
注解: 注释:给程序员看的 注解:给jvm看的 java中三个注解: @Override:声明该方法是从父类上继承过来的 @SuppressWarnings:抑制警告 @Deprecated:声明该方法不赞成使用 自定义注解: 注解属性 类型: 基本类型 string class annotation enum 以上类型的一维数组 若有属性,使用的时候必须有值 元注解 @Retention:声明注解保留到那个阶段 SOURCE: CLASS: RUNTIME: @Target:声明注解作用在那个部分 TYPE: METHOD: FILED: 注解的格式: @interface 注解名{ } /////////////////////////////////// ///////////////////////////////////servlet3.0 注解开发 @WebServlet(urlPatterns="/demo1") @WebListener @WebFilter(urlPatterns="/demo2") 文件上传 浏览器端的要求: 表单的提交方式必须是post 表单必须有文件上传组件 表单的enctype属性值为 multipart/form-data 服务器获取的时候 servlet3.0要求 添加一个@MultipartConfig 获取普通的组件 request.getParameter(name属性的值) 获取文件上传组件 Part part=request.getPart("name属性的值") //获取文件的名称 Stirng sss=part.getHeader("content-disposition") //然后截取才能获取文件名称 sss.substring(sss.indexof("filename=")+10,sss.length-1); //获取文件流 part.getInputStream(); //删除临时文件 part.delete() 上传时候需要注意的问题: 文件重名 随机名称 文件安全 重要的文件放在 web-inf meta-inf 服务器磁盘 目录分离 时间 用户 文件个数 随机目录//////////////////////////////////////////动态代理(★) jdk中proxy 前提:实现接口 Proxy.newProxyInstance(被代理对象.getClass().getClassLoader(), 被代理对象.getClass().getInterfaces(),new InvocationHandler(){ invoke(代理对象,当前执行的方法,需要的参数){ } });
0 0
- Javaweb备忘录3
- Javaweb备忘录2
- android 备忘录3
- magnolia5.3安装备忘录
- Lua 学习备忘录3
- [美术]3dsMax备忘录
- Javascript_备忘录3
- 备忘录
- 备忘录
- 备忘录
- 备忘录
- 备忘录
- 备忘录
- 备忘录
- 备忘录
- 备忘录
- 备忘录
- 备忘录
- 关于IDEA的使用
- 问题 C: 魔法宝石_【最短路】_河南工业大学2017校赛重现赛
- 别把重构和设计当做书上的东西~~!
- Hibernate之缓存详解
- androidBitmap压缩质量参数
- Javaweb备忘录3
- ValueError: all the input array dimensions except for the concatenation axis must match exactly
- linux+apache+django+mysql 部署
- Java并发编程系列之八:stop()、resume()和suspend()
- 由币市联想到
- PL/SQL developer基础语法学习(三)之游标
- 沉浸式状态栏之状态栏透明
- NYOJ-苹果【01背包|模版题】
- 图像特征提取之LBP特征