zoukankan      html  css  js  c++  java
  • 过滤器和文件上传

    1.过滤器
    1.概述
    过滤器就是在对目标资源进行请求前或请求后来进行拦截,

    //放行前加入的代码
    chain.doFilter(request,response);
    //放行后的代码

    2.写法
    1.实现Filter接口
    init(FilterConfig);
    doFilter(ServletRequest,ServletResponse,FilterChain);
    destory();

    2.web.xml配置?
    <filter>
    <filter-name></filter-name>
    <filter-class></filter-class>
    </filter>
    <filter-mapping>
    <filter-name></filter-name>
    <url-pattern></url-pattern>
    </filter-mapping>


    3.生命周期
    1.在应用被加载或容器启动时,过滤器就进行实例化,初始化
    2.以后每调拦截时,直接执行doFilter()
    3.容器停止或应用卸载时,destory()执行销毁

    4.配置详解
    1.一个Filter可以有多个配置
    2.也可以使用通配符进行配置(/* *.扩展名)
    3.filter-mapping配置在前,说明它先拦截
    4.配置初始化参数
    <filter>结点内部添加一个<init-param>结点

    参数获取:
    filterConfig.getInitParameter("参数名");
    Enumeration<String> paramNames= filterConfig.getInitParameterNames();
    while(paramNames.hasMoreElements()){
    String paramName = paramNames.nextElement();
    }

    5.<filter-mapping>可以加入<dispatcher>的配置
    1.默认不写,是REQUEEST
    2.其它取值
    ERROR:过滤web.xml中配置的错误页
    INCLUDE:动态包含的资源
    FORWARD:转发的资源 errorPage属性是FORWARD

    5.过滤器链
    过滤器1-------------->过滤器2---------------->目标资源-------->过滤器2-------->过滤器1


    6.简单示例
    1.解决post提交乱码问题
    2.动态资源不缓存
    3.静态资源级存
    7.复杂示例
    1.字符全站过滤
    2.脏话过滤器
    3.html过滤器
    4.全站压缩(理解)


    2.文件上传
    1.上传的必要性

    2.上传的前提
    1.enctype="multipart/form-data"
    2.method="post"
    3.<input type="file" />
    3.当表单提交数据时, enctype="application/x-www-form-urlencoded",
    它是默认值,此时服务器可以用request.getParameter()取数据,否则不能取数据。

    4.接收客户端数据并引入上传框架

    5.框架的使用
    1.介绍SmartUpload
    2. Commons-FileUpload(主讲)

    6.commons-fileupload框架的使用
    1.导2个jar包
    commons-fileupload-xxx.jar
    commons-io-xxx.jar

  • 相关阅读:
    JAVA 打开文件乱码
    单引号和双引号的区别
    global和$GLOBALS[]的区别
    php统计数组元素个数
    PHP5.3x不再支持ereg和eregi
    discuz论坛diy标签
    网页特效过渡功能
    discuz缓存机制
    php数组中删除元素
    speedphp是个不错的框架
  • 原文地址:https://www.cnblogs.com/bwcx1375/p/7152798.html
Copyright © 2011-2022 走看看