本帖最后由 小石姐姐 于 2018-6-21 16:03 编辑
就业班_JavaEE_day23_24_基础加强
一 注解
格式
@interface
注解可以定义哪些属性
基本类型 String Class 注解 枚举 以及以上类型的一维数组
@interface MyAnno {
int a() default 1;
String s();
String[] arrys();
String value();
}
注解定义需要注意: 1 属性名后面需要带上() 2 如果有默认值,用default定义。 3 如果有且仅有一个属性value,则可以省略value属性名
JDK中提供的注解:
@Override : 描述子类重写父类的方法
@SuppressWarnings : 压制警告
@Deprecated : 描述方法过时
注释 : 给程序员看的 注解 : 给虚拟机看的
二 文件上传
Apache fileupload
struts2 其实底层也是fileupload 对fileupload进行了封装
springmvc 与struts2 类似,底层也是fileuplaod。
需要实现文件上传,表单需要满足的条件:
1.form必须是post
2 <input type="file" name="upload">
3 表单必须有enctype属性 enctype="multipart/form-data"
文件上传需要考虑:
1 文件重名
2 文件分散存放
三 servlet3.0 的三个新特性
1 注解开发
2 文件上传 2.5 不支持文件上传
3 异步请求
servlet3.0 必须tomcat7以上才能支持。
四 动态代理 针对被增强类实现接口形式。
Proxy.newProxyInstance(ClassLoader,Class[] interfaces, InvocationHandler(xxxx));
产生一个代理对象。 ClassLoader 类加载器 interfaces 表示被增强对象实现的所有接口 waiter.getClass().getInterfaces()
InvocationHandler 是一个回调接口 xxxx 表示被增强的对象
Object invoke(Object proxy, Method method , Object[] params)
proxy 便是产生的代理对象, method 表示被增强对象执行的所有方法 params 表示被增强对象执行时的参数数组
return method.invoke(xxxx,params);
MyInvocationHandler implements InvocationHandler {
private XXXX xxxx;
public MyInvocationHandler(XXXX xxxx){
this.xxxx = xxxxx;
}
Object invoke(Object proxy, Method method , Object[] params){
}
}
五 加载器
全盘委托 双亲委派
引导类加载器 jre/lib/rt.jar
扩展类加载器 jre/lib/ext/*.jar
应用类加载器 自定义类
|
|