导航:首页 > 净水问答 > java过滤器链怎么写

java过滤器链怎么写

发布时间:2024-08-16 20:03:53

Ⅰ 关于java过滤器(filter)的一个疑惑。。。

msg+="!!!"; 这句话 其实是NWE了一个String 对象了
msg是一个新的对象 不是你先前的那个对象了

已经不是以前的那个对象了
懂了吧

Ⅱ filter的使用 java 过滤器的几种使用方法

过滤器来

过滤器是处于客户端自与服务器资源文件之间的一道过滤网,在访问资源文件之前,通过一系列的过滤器对请求进行修改、判断等,把不符合规则的请求在中途拦截或修改。也可以对响应进行过滤,拦截或修改响应。

过滤器一般用于登录权限验证、资源访问权限控制、敏感词汇过滤、字符编码转换等等操作,便于代码重用,不必每个servlet中还要进行相应的操作。

Ⅲ jsp\java 如何编写过滤器过滤特殊字符

package com.jing.common;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class IllegalCharacterFilter implements Filter {
private String[] characterParams = null;
private boolean OK=true;

public void init(FilterConfig config) throws ServletException {

// if(config.getInitParameter("characterParams").length()<1)
// OK=false;
// else
// this.characterParams = config.getInitParameter("characterParams").split(",");
System.out.println("初始化");
}

@SuppressWarnings("unchecked")
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain arg2) throws IOException, ServletException {
HttpServletRequest servletrequest = (HttpServletRequest) request;
HttpServletResponse servletresponse = (HttpServletResponse) response;
String param = "";
String paramValue = "";

//设置请求编码格式
servletresponse.setContentType("text/html");
servletresponse.setCharacterEncoding("UTF-8");
servletrequest.setCharacterEncoding("UTF-8");
java.util.Enumeration params = request.getParameterNames();
//循环读取参数
while (params.hasMoreElements()){
param = (String) params.nextElement(); //获取请求中的参数
String[] values = servletrequest.getParameterValues(param);//获得每个参数对应的值

for (int i = 0; i < values.length; i++) {

paramValue = values[i];

//转换目标字符变成对象字符,可以多个。后期扩展特殊字符库用于管理
paramValue = paramValue.replaceAll("'","");
paramValue = paramValue.replaceAll("@","");
paramValue = paramValue.replaceAll("胡锦涛","***");

//这里还可以增加,如领导人 自动转义成****,可以从数据库中读取非法关键字。
values[i] = paramValue;

}

//把转义后的参数重新放回request中
request.setAttribute(param, paramValue);
}
//继续向下 执行请求,如果有其他过滤器则执行过滤器
arg2.doFilter(request, response);
}

public void destroy() {
// TODO Auto-generated method stub
}
}

Ⅳ java如何创建过滤器

弄过滤器,要实现filter接口,下面我写一个小例子
主要是用过滤器处理中文编码,至于你要用来做什么,你再自己写。。。比如权限控制,登录验证,之类

//下面这是一个类。。。。
import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class EncodingFilter implements Filter {
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding("GBK");//处理编码
response.setCharacterEncoding("GBK");//处理编码

chain.doFilter(request, response);//让过滤器执行下一个请求
}

public void destroy() {}

public void init(FilterConfig arg0) throws ServletException {}
}

//下面这个是在web.xml下的配置

<filter>
<filter-name>encoding</filter-name>
<filter-class>
刚刚创建的那个实现filter接口的类的位置
例如:com.temp.filter.EncodingFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>encoding</filter-name>
<url-pattern>*.jsp这个是以jsp为后缀的文件都拦截下来</url-pattern>
</filter-mapping>
可以写多个的<filter-mapping>来配置你所要拦截的东西

恩,有点唠叨,希望可以帮助到你

Ⅳ java过滤器中的FilterChain对象

1、什么是过滤器?
与Servlet相似,过滤器是一些web应用程序组件,可以绑定到一个web应用程序中。但是与其他web应用程序组件不同的是,过滤器是"链"在容器的处理过程中的。这就意味着它们会在servlet处理器之前访问一个进入的请求,并且在外发响应信息返回到客户前访问这些响应信息。这种访问使得过滤器可以检查并修改请求和响应的内容。
2、过滤链FilterChain
两个过滤器,EncodingFilter负责设置编码,SecurityFilter负责控制权限,服务器会按照web.xml中过滤器定义的先后循序组装成一条链,然后一次执行其中的doFilter()方法。执行的顺序就如下图所示,执行第一个过滤器的chain.doFilter()之前的代码,第二个过滤器的chain.doFilter()之前的代码,请求的资源,第二个过滤器的chain.doFilter()之后的代码,第一个过滤器的chain.doFilter()之后的代码,最后返回响应。
3、过滤链的好处是,执行过程中任何时候都可以打断,只要不执行chain.doFilter()就不会再执行后面的过滤器和请求的内容。而在实际使用时,就要特别注意过滤链的执行顺序问题,像EncodingFilter就一定要放在所有Filter之前,这样才能确保在使用请求中的数据前设置正确的编码。

Ⅵ Javaweb 鐨勮繃婊ゅ櫒鏄濡備綍瀹炵幇鐨勶紵

Javaweb 鐨勮繃婊ゅ櫒鏄閫氳繃瀹炵幇 Filter 鎺ュ彛鏉ュ疄鐜扮殑銆侳ilter 鎺ュ彛鏈変笁涓鏂规硶锛歩nit()銆乨oFilter() 鍜 destroy()銆傚叾涓锛宨nit() 鏂规硶鐢ㄤ簬鍒濆嬪寲杩囨护鍣锛宒oFilter() 鏂规硶鐢ㄤ簬杩囨护璇锋眰鍜屽搷搴旓紝destroy() 鏂规硶鐢ㄤ簬閿姣佽繃婊ゅ櫒銆傚湪 web.xml 鏂囦欢涓浣跨敤 鍏冪礌瀵圭紪鍐欑殑 filter 绫昏繘琛屾敞鍐岋紝骞惰剧疆瀹冩墍鑳芥嫤鎴鐨勮祫婧愩

阅读全文

与java过滤器链怎么写相关的资料

热点内容
什么样的水烧开无水垢 浏览:568
污水处理厂用的什么阀门 浏览:877
污水处理经营管理合同 浏览:872
志高下置式饮水机质量怎么样 浏览:684
保温瓶如何除垢 浏览:234
高浓度印染废水处理设备 浏览:228
耐盐雾u树脂 浏览:532
java过滤bom头 浏览:351
关于建设污水厂项目资金申请 浏览:1000
花园废水利用 浏览:143
如何用喝完的可乐瓶子做净水器 浏览:212
超滤的进水悬浮物浓度多少 浏览:299
一壶水加多少除垢剂 浏览:839
名爵汽车净水怎么擦干 浏览:416
果酒生产废水处理 浏览:347
江门小区污水处理多少钱 浏览:776
德龙除垢剂替代 浏览:777
反渗透膜制纯水 浏览:284
河南反渗透净水设备 浏览:463
建设局和污水厂什么联系 浏览:384