吴鹏
总结
注解和注释:
注释是给人看的,描述程序的含义,步骤等
注解是给虚拟机看的,注解代表程序的一些特殊的功能
JDK(提供了三个注解):
1 @Override
描述子类重写父类的方法(类似规范一样的东西),JDK1.5时候,只能用在类的集成上,1.6以后可以用在类的实现上
2 @SupperessWarnings()
用来压制警告
3 @Deprecated
用来标记方法过时,我们能拿来自己用
---------------------------------------------
自定义注解:
定义枚举:enum
定义注解:@interface
定义一个注解,后面写上注解名,就可以用@注解名来调用定义的注解
定义一个有属性的注解:
@interface Anno2{
int a();
}
属性必须要有赋值,可以在引用注解后加个括号(),在括号里面赋值;
或者在定义属性的注解里面的括号后面用default+值;来赋值;
注解的属性类型只能由基本数据类型,字符串,class类型,注解类型,枚举类型,或者包含以上类型的一位数组;
特殊的属性名称 value
当属性之定义了一个的时候,应用注解可以在括号里面省略掉value,只需写属性值;
----------------------------------------------------
1 获得测试类的class(反射)
2 获得测试类的所有的方法
3 遍历所有的方法,判断是否带有指定的注解
4 将代有注解的方法执行
注解存在的阶段:
默认注解只存在与源代码阶段,在编译和执行阶段就消失了
自定义注解默认存在于源码阶段,需要让注解存在的时间更长,就使用元注解(修饰其它注解的称之为元注解)
Retention(value=RetentionPolicy.Runtime)
设置注解存在与运行阶段;
---------------------------------------------------------------------------
servlet 3.0的新特性(实现文件的上传和下载)_:
多了注解开发功能;
@WebServlet
@WebFilter
@WebListener
文件上传的功能;
1 设置一个文件上传页面
2 提交页面指向一个Servlet(多加一个注解 @MultipartConfig后才能使用part对象和他的方法)
3 在Servlet中接收参数
4 获得服务器的文件上传路径
5 通过流写到该路径下
异步请求的功能
JSPSmartUpload(嵌入到JSP中完成文件上传,朱永用于 model阶段
FlieUpload apache的文件上传组件;
Struts2 底层是FileUpload
文件上传的要素:
1 表单提交的方式必须是POST;
2 表单中需要有文件上传的表单元素,元素必须有name属性和值;<input type="file" name="upload">值为upload
3 表单的enctype的属性值为mulipart/form-data;在<form enctype=>标签中;(改变传递参数的方式)
没有设置enctype的话,传过去的只是文件名,而没有文件的内容
有设置的话,传过去的是文件名和文件内容,服务器可以获得的内容,然后写入到本地数据;
|