`
xiaokanrensheng87
  • 浏览: 2901 次
社区版块
存档分类
最新评论

filter对ajax,url单独处理(转载)

 
阅读更多
   jsp filter的过滤功能很强大,任何客户端向服务器的请求都能被拦截下来,对于url的请求通常采用httpServletResponse.sendRedirect()方法将请求重定向到新的页面。如果有基于ajax的请求,这种请求重定向的方法就不能使用了,因为返回结果往往包含一小段数据。因此需要在filter中判断客户端的请求方式,并根据不同的请求方式作出不同的处理。




Java代码  收藏代码

    if (flag) {                //flag:是否通过过滤 
        filterChain.doFilter(servletRequest, servletResponse); 
      } else { 
        String requestType =(String) ((HttpServletRequest)servletRequest).getHeader("X-Requested-With");  
        if (requestType != null && requestType.equals("XMLHttpRequest")) { 
         try{ 
            JSONObject json = new JSONObject();   
            json.put("returncode", "-1");   
            PrintWriter pw = servletResponse.getWriter();   
            pw.print(json.toString());   
            pw.close();   
         } catch (org.codehaus.jettison.json.JSONException e) { 
            // TODO Auto-generated catch block 
            e.printStackTrace(); 
         } 
         
        }else{ 
            HttpServletResponse httpServletResponse = (HttpServletResponse)servletResponse; 
            httpServletResponse.sendRedirect("/cardIssue/login.jsp"); 
        } 
         
      } 
分享到:
评论

相关推荐

    js变量利用ajax转php变量

    2. **AJAX(Asynchronous JavaScript and XML)**:AJAX并非一种单独的技术,而是一种利用JavaScript异步通信的技术手段,它允许在不刷新整个页面的情况下与服务器交换数据并局部更新页面。这极大地提高了用户体验,...

    cors-filter-1.7.jar spring解决跨域问题 java

    `cors-filter-1.7.jar`是一个非Spring的CORS过滤器,可以单独或与Spring结合使用。而`java-property-utils-1.9.1.jar`则可以帮助我们更方便地处理配置文件中的属性,灵活调整跨域策略。在实际项目中,可以根据需求...

    AjaxAnyWhere中文帮助文档.pdf

    此过滤器的作用是拦截特定格式的URL请求,并处理这些请求以实现Ajax功能。例如: ```xml <filter> <filter-name>AjaxAnywhere</filter-name> <filter-class>org.ajaxanywhere.AAFilter</filter-class> </filter...

    struts2 spring ibatis dwr整合配置

    【整合配置概述】 在Web开发中,Struts2、Spring和iBatis是常见的三大开源框架,它们分别负责MVC模式中的控制层、...在实际项目中,根据具体需求,还需要对安全性、异常处理、国际化等方面进行更细致的配置和优化。

    04-data-fetching

    处理这些数据时,可以使用数组方法(如map、filter、reduce)或遍历循环。 总结,"04-data-fetching"这一主题涵盖了JavaScript中获取和处理数据的各种方法,包括传统的Ajax,现代的Fetch API,以及如何结合async/...

    js表情包展示及选择

    在JavaScript中,可能会用到数组方法(如`filter()`、`map()`)来处理表情包数据,使用DOM操作(如`getElementById()`、`innerHTML`)来更新页面内容。此外,为了优化性能,可以使用事件委托来避免为每个表情包绑定...

    关于页面优化和伪静态

    2. Smarty模板引擎:在处理输出内容时,可以通过Smarty的output filter功能,自动将动态链接转化为伪静态格式。注册一个自定义函数,如change_url,利用preg_replace函数匹配并替换URL,实现动态到静态的转换。 3. ...

    gridview72例

    20. 事件委托:使用事件委托,可以将GridView事件处理逻辑分离到单独的类中,实现代码复用和模块化。 21. 数据过滤:利用FilterExpression和FilterParameters属性,可以实现客户端或服务器端的筛选功能。 22. 行...

    Web 常见面试题

    - **500 Internal Server Error**:服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。 - **301 Moved Permanently**:请求的资源已被永久移动到新位置。 - **302 Found (Temporary Redirect)**:...

    Professional ASP.NET MVC 4

    - **Filter Attributes**:例如`Authorize`、`OutputCache`等过滤器,用于执行预处理或后处理任务。 #### 三、视图(Views) - **定义**:视图是负责呈现数据的层。在ASP.NET MVC中,视图主要通过Razor语法编写。 ...

    使用jQuery的load方法设计动态加载及解决被加载页面js失效问题

    - `data`:可选参数,可以是字符串或对象,用于传递与请求一起发送的查询字符串键值对。 - `callback`:可选参数,是load方法完成后的回调函数,用于处理加载成功或失败的情况。 **二、load方法示例** 例如,下面的...

    AngularJS学习笔记

    - **13.5 模板单独使用**:AngularJS支持将模板作为独立文件加载,并在运行时动态加载到页面中。 #### 14. 自定义模块和服务 - **14.1 模块和服务的概念与关系**:AngularJS中模块是服务、指令、过滤器等的容器,...

    jQuery仿京东多条件分类筛选及搜索

    jQuery是一个轻量级的JavaScript库,它简化了DOM操作、事件处理、动画制作和Ajax交互。在实现京东多条件筛选功能时,主要会用到以下jQuery特性: - **选择器**: jQuery提供了丰富的选择器用于选取DOM元素,如`$("#...

    jQuery详细教程

    • jQuery 的 action() 执行对元素的操作 示例 $(this).hide() - 隐藏当前元素 $("p").hide() - 隐藏所有段落 $("p.test").hide() - 隐藏所有 class="test" 的段落 $("#test").hide() - 隐藏所有 id="test" 的元素 ...

    layUI使用layer.open,在content打开数据表格,获取值并返回的方法

    // 可以使用ajax请求对数据进行进一步处理 layer.close(index); // 关闭弹窗 }, btn2: function(index, layero) { layer.close(index); // 点击关闭按钮时关闭弹窗 } }); } ``` 在新窗口的HTML中,我们加载...

    bootstrap-table相关包.zip

    5. `extensions`目录:Bootstrap Table有许多扩展功能,如export(数据导出)、filter-control(过滤控制)等,这些功能可能以单独的JS和CSS文件形式存在,允许开发者根据需要选择性地引入。 6. `examples`或`demo`...

    仿美团APP筛选

    例如,发送POST请求更新筛选条件:`$.ajax({url: "api/filter", type: "POST", data: {priceMin: minPrice, priceMax: maxPrice}, success: function(data) {...}});` 5. **动态展示**:筛选结果需要实时显示在页面...

    Jquery 常用方法一览表(集合)

    jQuery 是一个广泛使用的JavaScript库,它极大地简化了DOM操作、事件处理、动画设计以及Ajax交互。这个库提供了丰富的API,使得开发者能够高效地编写出功能强大的网页应用。下面我们将详细探讨jQuery中的常用方法。 ...

Global site tag (gtag.js) - Google Analytics