一:要求
1 MyEclipse10.0或以上版本
2 发布到Tomcat7.0或以上版本
二 步骤
1 创建javaEE6.0应用
三 概述
注解代替web.xml配置文件
异步处理
对上传的支持
四
注解代替配置文件
1 删除web.xml
2 在Servlet类上添加@WebServlet(urlPatterns="Servlet类名"),过滤器同理添加@WebFilter(....) 监听器也同理添加@WebListener()
五、异步处理
1 实现异步的步骤
得到AsyncContext,它是异步上下文对象
final AsyncContext ac = request.startAsync(request,response)
给上下文一个Runnable对象,启动它
ac.start(new Runnable(new Runnable(){
public void run(){
}
ac.complete(); // 告诉tomcat异步线程已经执行结束,这才会让tomcat及时断开连接
});
@webServlet(..,asyncSupported=true)
response.setContentType("text/html;charset=utf-8")
IE如果不能正常输出,这说明响应体大小不足512b
六
1 上传
Servlet3.0对上传提供了支持
表单不变
在Servlet中不需要使用commons-fileuoload ,而是使用Servlet3.0提供的上传文件的接口
上传的步骤:
使用request.getPart("文件表单字段名") 得到Part实例
Part:
String getContentType():获取上传文件的MIME类型
String getName() 获取表单项名称,不是文件名称
String getHeader(String header) 获取指定头的值
long getSize() 获取上传文件的大小
InputStream getInputStream() 获取上传文件保存到指定路径下
void write(String fileName) 把上传文件保存到指定路径下
默认Servlet不支持组件,需要添加注解@MultipartConfig
没有提供获取上传文件名称的方法,需要我们自己从Content-Disposition中请求头获取