6.28筆記-servlet3.0註解配置、文件上傳、過濾器、監聽器
阿新 • • 發佈:2017-06-28
對象 color ctype url ext string 實現 ins web服務器
一、servlet3.0註解配置
使用javaEE6.0 支持servlet3.0
value的值就是訪問路徑
urlPatterns的值也是訪問路徑
@WebServlet(name="DemoServlet3",value="/demoServlet3")
public class DemoServlet3 extends HttpServlet {
...
}
二、文件上傳
表單
method 必須是post
enctype="multipart/form-data"
// 1.創建DiskFileItemFactory
DiskFileItemFactory dif = new DiskFileItemFactory();
//2.創建ServletFileUpload 對象
ServletFileUpload sfu = new ServletFileUpload(dif);
//3.判斷表單提交 是不是 multipart/form-data
boolean isMultipart = sfu.isMultipartContent(request);
限制文件上傳的類型和大小
類型:
List <String> filTypes = Arrays.asList("jpg","png","gif","bmp");
String fileType = fileName.substring(fileName.lastIndexOf(".")+1);
System.out.println("後綴:"+fileType);
boolean flag = filTypes.contains(fileType);
大小:
//設置單個文件的最大限制
upload.setSizeMax(1024*30);
三、過濾器
新建過濾器
實現filter接口
在web.xml 配置
/* 表示過濾所有路徑的請求和響應
<filter>
<filter-name>demoFilter</filter-name>
<filter-class>cn.bdqn.demo.DemoFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>demoFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
過濾請求和響應
過濾器的生命周期:
初始化:
web服務器啟動時初始化
過濾調用
doFilter
銷毀:
關閉web服務器
用過濾器處理post請求中文亂碼
過濾器鏈
四、監聽器
6.28筆記-servlet3.0註解配置、文件上傳、過濾器、監聽器