`

jsp filter基于不同请求(ajax,url)过滤返回不同结果

    博客分类:
  • jsp
 
阅读更多

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

 

 

   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");
	    	}
	      
	    }

 

分享到:
评论

相关推荐

    Ajax过滤器

    在Java Web环境中,过滤器(Filter)是Servlet规范的一部分,它允许我们在请求到达目标Servlet或JSP之前对请求进行处理,以及在响应返回给客户端之前对响应进行修改。 首先,我们需要理解为什么会出现中文乱码。这...

    Ajax请求和Filter配合案例解析

    在Web开发中,Ajax技术被广泛应用于实现异步数据交互,而Filter则是一种用于过滤请求和响应的组件。当两者结合在一起工作时,可以实现诸如防止SQL注入等安全措施。本文将详细介绍一个案例,说明如何在使用Ajax进行...

    ajax实现java文件下载

    1. **前端**:在JSP文件中,使用JavaScript创建一个Ajax请求,设置请求方法(GET或POST)、URL(指向FileAction)、数据(如文件扩展名)以及成功和失败回调函数。 2. **后端**:FileAction接收到请求后,解析请求...

    js+jsp+json+tomcat跨域访问

    假设我们有一个名为"ajaxdemo.jsp"的JSP页面,它负责返回JSON数据。在客户端,使用jQuery发起一个JSONP请求: ```javascript $.ajax({ type: 'GET', url: 'http://yourserver.com/ajaxdemo.jsp', dataType: '...

    JQuery发送ajax请求时中文乱码问题解决

    要解决JQuery发送ajax请求时出现的中文乱码问题,需要从两个方面着手:确保Web项目的web.xml配置文件中设置了正确的字符编码过滤器,以及在JSP页面中设置了正确的字符编码,并使用POST方法发送ajax请求。通过这些...

    基于jsp技术的招聘网站系统-学位论文.doc

    该系统采用B/S(Browser/Server)架构,以JSP(JavaServer Pages)作为动态页面技术,结合Servlet、Ajax、JavaScript、jQuery和Filter等技术,提供高效、便捷的招聘与求职服务。 **Servlet技术**是Java服务器端的...

    JSP页面传值乱码过滤方法

    本文将详细介绍如何通过过滤器(Filter)来解决JSP页面传值时的乱码过滤问题。 首先,我们需要了解问题的背景。在JSP中,当用户通过表单提交数据时,如果服务器端没有正确地处理字符编码,就可能出现乱码。这是因为...

    JSP网络开发实例(购物中心网站)

    可以使用Filter实现基于URL的权限过滤。 ### 7. 商品展示与搜索 - **商品分类**: 设计合理的商品分类结构,方便用户查找商品。可以使用树形结构表示类别,并通过Ajax实现动态加载。 - **商品搜索**: 提供关键字...

    JSP servlet课堂笔记(达内资料)

    在典型的Java Web应用架构中,客户端通过HTTP协议发送请求到服务器,Servlet接收请求,处理数据,然后将结果返回给客户端。 2、**什么是Servlet?** Servlet 是 Java 类,遵循Servlet API 规范,用于处理客户端请求...

    Java开发指南-Servlets和JSP篇(PDG)

    在Java Web开发中,Servlets主要负责处理业务逻辑,接收请求,处理数据,并将结果返回给客户端。 JSP,另一方面,是一种视图层技术,它允许开发人员将HTML、CSS、JavaScript与Java代码混合编写,以生成动态内容。...

    struts2~json~gson~jquery~ajax简单应用

    3. **后端逻辑处理**:在这个示例中,假设有一个`RegisterAction`类处理Ajax请求,并返回JSON格式的数据。 4. **Gson转换**:在后端逻辑处理完成后,使用Gson将Java对象转换成JSON字符串,并返回给前端。 #### 五...

    J2EE企业级项目开发-3期(KC007) 8.1 Struts开发基础考试.doc

    2. **Result**: 结果页面(Result)是Action执行后返回的页面,可以是JSP、FreeMarker模板或者其他类型的视图。 3. **Interceptor(拦截器)**: 拦截器是Struts中强大的功能,它可以在Action执行前后插入额外的逻辑...

    Jsp敏感词过滤的示例代码

    2. **后端Servlet实现**:后端Servlet负责接收来自前端的请求,并对输入的字符串进行敏感词过滤。 ```java public class WordFilter extends HttpServletRequestWrapper { public WordFilter(HttpServletRequest ...

    达内JAVA第三个月月考.docx

    正确的配置是将`<filter-mapping>`元素的`<url-pattern>`设置为`/*`,这样过滤器就会应用于所有URL。例如: ```xml <filter> <filter-name>myFilter</filter-name> <filter-class>...

    JSP多用户网站统计系统

    同时,可以使用过滤器(Filter)实现URL级别的访问控制,确保只有经过身份验证的用户才能访问特定的统计信息。 **4. 统计指标与计算** 网站统计系统的核心在于收集和计算各类指标。这些指标可能包括但不限于:总...

    struts2简单例子

    // 返回的结果名称,对应配置文件中的result } } ``` 3. **JSP页面**:在上述例子中,`success.jsp`是Action执行成功后显示的页面。Struts2允许在JSP页面中使用OGNL(Object-Graph Navigation Language)表达式...

    servlet-api-2.5.jar和jsp-api-2.1.jar

    2. **过滤器链的改进**:增加了对多个Filter映射到同一个URL模式的支持,允许更灵活的过滤器配置。 3. **HTTP方法覆盖**:允许Servlet覆盖默认处理HTTP请求的方法,比如GET、POST等。 4. **异步处理**:引入了异步...

    检验用户登录信息(使有Filter,最终版)

    Filter是Java Servlet API中的一部分,它允许我们在请求到达目标Servlet或JSP之前对其进行拦截和处理,也可以在响应离开服务器之前进行操作。在用户登录验证场景中,Filter通常用来检查请求是否包含有效的登录信息,...

Global site tag (gtag.js) - Google Analytics