2018/10/08

1.反射

  • Constructor

    • Class类的newInstance()方法是使用该类无参的构造函数创建对象, 如果一个类没有无参的构造函数, 就不能这样创建了,可以调用Class类的getConstructor(String.class,int.class)方法获取一个指定的构造函数然后再调用Constructor类的newInstance("张三",20)方法创建对象
  • Field
    • Class.getField(String)方法可以获取类中的指定字段(可见的), 如果是私有的可以用getDeclaedField("name")方法获取,通过set(obj, "李四")方法可以设置指定对象上该字段的值, 如果是私有的需要先调用setAccessible(true)设置访问权限,用获取的指定的字段调用get(obj)可以获取指定对象中该字段的值
  • Method
    • Class.getMethod(String, Class...) 和 Class.getDeclaredMethod(String, Class...)方法可以获取类中的指定方法,调用invoke(Object, Object...)可以调用该方法,Class.getMethod("eat") invoke(obj) Class.getMethod("eat",int.class) invoke(obj,10)

2.动态代理

  • 在Java中java.lang.reflect包下提供了一个Proxy类和一个InvocationHandler接口,通过使用这个类和接口就可以生成动态代理对象。

3.枚举

  • 枚举概述

    • 是指将变量的值一一列出来,变量的值只限于列举出来的值的范围内。
  • 注意事项
    • 定义枚举类要用关键字enum
    • 所有枚举类都是Enum的子类
    • 枚举类的第一行上必须是枚举项,最后一个枚举项后的分号是可以省略的,但是如果枚举类有其他的东西,这个分号就不能省略。建议不要省略
    • 枚举类可以有构造器,但必须是private的,它默认的也是private的。
    • 枚举类也可以有抽象方法,但是枚举项必须重写该方法
    • 枚举在switch语句中的使用

4.Filter

  • Filter创建步骤: 1.创建一个类实现javax.servlet.Filter接口 2.得写接口方法 3.在web.xml文件中配置Filter
  • 注意:在Filter的doFiltFilter配置详解er方法内如果没有执行那么资源是不会被访问到的。

5.Filter配置详解

  • 1.Filter基本配置介绍

    <filter-name>filter名称</filter-name>
    <filter-class>filter类全名</filter-class>
    <filter-mapping>
    <filter-name>filter名称</filter-name>
    <url-pattern>映射路径</url-pattern>
    </filter-mapping>
  • 2.关于url-pattern配置
    • 1.完全匹配

      • 要求必须以"/"开始.
    • 2.目录匹配
      • 要求必须以"/"开始,以*结束.
    • 3.扩展名匹配
      • 不能以"/"开始,以*.xxx结束.
  • 3.关于servlet-name配置
    • 针对于servlet拦截的配置 <servlet-name>配置
    • 在Filter中它的配置项上有一个标签
    • <servlet-name>它用于设置当前Filter拦截哪一个servlet。是通过servlet的name来确定的。
  • 4.关于dispatcher配置
    • 可以取的值有 REQUEST FORWARD ERROR INCLUDE
    • 作用:当以什么方式去访问web资源时,进行拦截操作.
      • 1.REQUEST 当是从浏览器直接访问资源,或是重定向到某个资源时进行拦截方式配置的 它也是默认值
      • 2.FORWARD 它描述的是请求转发的拦截方式配置
      • 3.ERROR 如果目标资源是通过声明式异常处理机制调用时,那么该过滤器将被调用。除此之外,过滤器不会被调用。
      • 4.INCLUDE 如果目标资源是通过RequestDispatcher的include()方法访问时,那么该过滤器将被调用。除此之外,该过滤器不会被调用

最新文章

  1. xml in SQL
  2. swift 如何实现点击view后显示灰色背景
  3. 面试集锦-常量,const, const 对指针的影响
  4. skynet的协程
  5. php检测php.ini是否配制正确
  6. 超强vim配置
  7. VPS搭建VPN(pptpd)
  8. winform窗体跟随窗体
  9. Floor报错原理分析
  10. Linux shell脚本启动 停止 重启jar包
  11. Mybatis+Mysql逆向工程
  12. [daily][centos][iptables][firewalld] firewalld的初步了解
  13. maven中 install的install:install的区别
  14. Linux中设置vi编辑器的编码格式以及使用
  15. java sigar.jar
  16. [小技巧]Filezilla无法确定拖放操作目标,由于shell未正确安装__解决办法
  17. python 函数结果缓存一段时间的装饰器
  18. cocos2d-x项目101次相遇-安装和环境搭建 -xcode
  19. keil软件相关问题汇总
  20. Python小程序之「读取站点地图 自动为Gitalk创建Issues」

热门文章

  1. 关于netty的多个handler链式模式
  2. 例题3-4 master-mind hints
  3. mysql创建数据库在硬盘位置 for Mac
  4. [UOJ311]积劳成疾
  5. [ZPG TEST 115] 种树【差分约束】
  6. bootmanager is missing
  7. Android 插件技术:动态加载dex技术初探
  8. jmeter(四)检查点
  9. 移动web开发基础(一)——像素
  10. Android学习备忘笺01Activity