A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


一:Filter的使用

1. Filter是由Tomcat启动时创建。接口包含三个方法。
       1.void  init(FilterConfig  filterConfig)       过滤器对象创建的时候调用的方法
       2.void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)       执行过滤的方法
       3.void destory()     过滤器销毁的时候调用的方法


2.Filter过滤器的开发步骤
       第一步:新建一个普通java类,实现Filter接口;
       第二步:根据提示重写Filter接口的3个方法;
       第三步:在这个类上面通过注解的方式配置这个Filter;
                     注解@WebFilter:配置Filter的注解,这个注解有两个参数;
                    filterName:设置过滤器的名称;
                    urlPatterns:配置这个过滤器要拦截的资源的路径;
       第四步:在doFilter()方法中,书写过滤的业务逻辑;
                    chain.doFilter()方法放行;

3.过滤器的执行流程
          1.客户端(浏览器)的HttpRequest到达Servlet之前,被Filter的doFilter()方法拦截;
          2.根据需要,我们可以获取或者修改HttpRequest对象中的数据;
          3.在这个请求响应给浏览器之前,Filter拦截了HttpResponse对象;
          4.根据需要,我们可以获取或者修改HttpReponse对象中的数据;
          5.最后,由doFilter中的chain决定是否让这个请求通过;



注意:多个Filter的执行顺序,Filter默认是按照字母顺序执行的,从而形成一个执行链条。


4.Filter的映射路径
         1.精确匹配:匹配指定的urlpattern;
                  1.urlPatterns = "/index.jsp"       拦截对index.jsp页面的请求
                  2.urlPatterns = "/loginServlet"        拦截对loginServlet的请求
                  3.urlPatterns = "/a.jpg"          拦截对a.jsp的请求
         2.模糊匹配:匹配复合条件的一类路径;
                  1.urlPatterns = "/*"         对所有的请求都进行拦截
                  2.urlPatterns = "/xxx/*"          对映射路径中/xxx下的所有资源进行拦截
                  3.urlPatterns = "*.xxx"          对指定后缀的请求进行拦截
         3.多路径匹配:一个filter匹配多个资源;


二:Ajax的使用

1.JS原生的Ajax请求的思路
       1.创建Ajax引擎对象--XMLHttpRequest对象;
       2.为XMLHttpRequest对象绑定监听(监听服务器,将数据响应给引擎);
       3.绑定提交地址;
       4.发送请求;
       5.接收响应数据;



2.Jquery的Ajax请求思路


     1.GET请求
             格式:$.get(url,[data],[callback],[type])
               参数说明:
                    url   :  请求地址
                    data  :  发送给服务器端的请求参数,格式:方式一:key=value&key=value       方式二:{key:value,key:value...}
                 callback  : 回调函数:当请求成功后触发的函数
                   type  :  返回参数类型:取值可以是xml, html, script, json, text, _defaul等


      2.POST请求
              格式:  $.post(url, [data], [callback], [type])
              参数说明:
                     url   :  请求地址
                    data  :  发送给服务器端的请求参数,格式可以是key = value,也可以是JS对象
                 callback  : 回调函数:当请求成功后触发的函数
                   type  :  返回参数类型:取值可以是xml, html, script, json, text, _defaul等


      3.AJax请求
            格式:   $.ajax({settings}) url,async,data,type,dataType,success,error
            参数说明:
                  


三:JSON数据格式





注意:
        1.JSON数据的key值:字符串类型,必须加双引号;
        2.JSON数据的value值:任意类型,如果是字符串则必须加双引号;
总结:
        1.java对象  ----->json对象
                {"id":1,"studentAge":10,"studentName":"张三"}
        2.转换List集合  ---->   JSON数组:
              [
                   { "id": 1,"studentAge": 10, "studentName": "张三"},
                   {"id": 2, "studentAge": 12,"studentName": "李四"}
             ]
        3.转换复杂对象-----JSON混合数据类型:
             {                     "course": {
                     "code": "en",
                     "courseName": "英语",
                    "id": 1
             },
                "id": 2,
                "studentAge": 12,
                 "studentName": "李四"
             }


注意:复杂对象也可以用Map<String,Object> 集合来拼接;



结果:{"code":"1001","stu":{"id":2,"studentAge":12,"studentName":"李四"}}




2 个回复

倒序浏览
ヾ(◍°∇°◍)ノ゙
回复 使用道具 举报
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马