首页 > 代码库 > 6.28笔记-servlet3.0注解配置、文件上传、过滤器、监听器

6.28笔记-servlet3.0注解配置、文件上传、过滤器、监听器

一、servlet3.0注解配置
    使用javaEE6.0  支持servlet3.0
    
    value的值就是访问路径
    urlPatterns的值也是访问路径
    @WebServlet(name="DemoServlet3",value="http://www.mamicode.com/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注解配置、文件上传、过滤器、监听器