java代码过滤 Java 过滤器

java filter 过滤器中文乱码 怎么解决啊?

1、首先编写一个Java类的filter代码。操作步骤:

创新互联专注于北京网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供北京营销型网站建设,北京网站制作、北京网页设计、北京网站官网定制、重庆小程序开发服务,打造北京网络公司原创品牌,更为您提供北京网站排名全网营销落地服务。

(1)在myeclipse中新建一个java类,

(2)单击“Add”按钮,在弹出来的对话框中“选择接口”文本框中输入Filter,

并选择匹配好的类型javax.servlet

(3)单击“OK”按钮返回"New Java Class"对话,然后单击“Finish”按钮,就可以看到创建的过滤器框架:

过滤器类:Encoding.java,代码如下:

package com;

import java.io.IOException;

import javax.servlet.*;

public class Encoding implements Filter {

protected String encoding=null;

protected FilterConfig config;

public void destroy() {

// TODO Auto-generated method stub

}

public void doFilter(ServletRequest request, ServletResponse response,

FilterChain chain) throws IOException, ServletException {

if(request.getCharacterEncoding()==null){

//得倒指定的编码

String encode=getEncoding();

if(encode!=null){

//设置request的编码

request.setCharacterEncoding(encode);

response.setCharacterEncoding(encode);

}

}

chain.doFilter(request, response);

}

public void init(FilterConfig filterConfig) throws ServletException {

this.config=filterConfig; //得到web.xml中的配置编码

this.encoding=filterConfig.getInitParameter("Encoding");

}

protected String getEncoding(){

return encoding;

}

}

2、在web.xml文件写入以下代码:

?xml version="1.0" encoding="UTF-8"?

web-app version="2.5"

xmlns=""

xmlns:xsi=""

xsi:schemaLocation="

"

display-name/display-name

filter !-- 控制编码 --

filter-nameEncodingFilter/filter-name

filter-classcom.Encoding/filter-class

init-param !-- 初始化参数 --

param-nameEncoding/param-name

param-valueGB2312/param-value

/init-param

/filter

filter-mapping

filter-nameEncodingFilter/filter-name

url-pattern/*/url-pattern

/filter-mapping

/web-app

java 中的过滤器filter 都有什么作用

过滤器顾名思义就是进行过滤的,可以实现代码的定向执行和预处理。

通俗点说法filter相当于加油站,request是条路,response是条路,目的地是servlet,这个加油站设在什么地方对什么数据操作可以由你来控制。

备注:过滤器可以再请求和响应之前做一部分预处理,有效的过滤掉不需要的内容,而且过滤器可以被复用,节省了大量的复用代码,提高了java的代码执行效率

java中如何过滤html的代码

把需要写入数据库的字符通过下面的方法过滤然后再写入 public static String converthtml(String input) { if (input == null || input.length() == 0) { return input; } StringBuffer buf = new StringBuffer(input.length() + 6); char ch = ' '; for (int i = 0; i input.length(); i++) { ch = input.charAt(i); if (ch == '') { buf.append(""); } else if (ch == '') { buf.append(""); } else if (ch == '') { buf.append(""); } else if (ch == ' ') { buf.append(" "); } else { buf.append(ch); } } return buf.toString(); }

希望采纳

java 如何过滤html代码,只保留中文或英文及基本常用符号

很容易,首先建立一个字符串数组,也就是你需要过滤掉的html标签String[] filterArrays = new String[]{"html","/html","table","/table".....一系列有关html标签的东西}

当你得到一个html代码的字符串时你可以循环遍历上面的数组,然后调用String自带的方法replaceAll();

我给你简单的示范一下啊

String str = "dfgdgdfgdgd";//需要过滤的带有HTML标签的代码字符串

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

if(str.indexOf(filterArrays[i])!=0){

str = str.replaceAll(filterArrays[i],"");//将html标签替换成了空格

}

}

这样就搞定了,主要是你需要在filterArrays中增加你需要过滤的字符串,当然还会有更好的办法,可以不用增加这样的数组,因为出现""必然会有"",或者"/"这样的标签,但是这样做可能会将一些无关的也过滤掉了,总之两种方法都可以,第一种呢我都给你写了例子!祝你成功啊

java过滤sql关键字的正则替换掉

java过滤sql关键字的正则替换掉方法如下:

可以在C#中这样做:Regexregex = newRegex(@"]*[^");

stringcleanedHtml = regex.Replace(html, "");

可是我并不想再写个循环去遍历每条记录,然后保存每条记录,我想在数据库中一步到位,而sql只提供了简单的replace函数,这个函数明显不能达到咱的要求,那就去写一个自定义函数吧。

函数源代码如下:CREATE functiondbo.regexReplace

(@source ntext,--原字符串@regexp varchar(1000),--正则表达式@replace varchar(1000),--替换值@globalReplace bit=1,--是否是全局替换@ignoreCase bit=0 --是否忽略大小写)returnS varchar(1000)AS

begin

declare@hr intege

declare@objRegExp integer

declare@result varchar(5000)exec@hr =sp_OACreate'VBScript.RegExp',@objRegExp OUTPUT

IF@hr 0 begin

exec@hr =sp_OADestroy@objRegExp

returnnullend

exec@hr =sp_OASetProperty@objRegExp,'Pattern',@regexp

IF@hr 0 begin

exec@hr =sp_OADestroy@objRegExp

returnnullend

exec@hr =sp_OASetProperty@objRegExp,'Global',@globalReplace

IF@hr 0 begin

exec@hr =sp_OADestroy@objRegExp

returnnullend

exec@hr =sp_OASetProperty@objRegExp,'IgnoreCase',@ignoreCase

IF@hr 0 begin

exec@hr =sp_OADestroy@objRegExp

returnnullend

exec@hr =sp_OAMethod@objRegExp,'Replace',@result OUTPUT,@source,@replace

IF@hr 0 begin

exec@hr =sp_OADestroy@objRegExp

returnnullend

exec@hr =sp_OADestroy@objRegExp

IF@hr 0 begin

returnnullend

return@result

end

需要注意的是,即使写好了这个函数,也并不能马上使用。执行这个函数时可能会出现以下的错误:Msg 15281, Level 16, State 1, Line 1

SQL Server blocked access to procedure 'sys.sp_OACreate' of component 'Ole Automation Procedures' because this component is turned off as part of the security configuration for this server. A system administrator can enable the use of 'Ole Automation Procedures' by using sp_configure. For more information about enabling 'Ole Automation Procedures', see "Surface Area Configuration" in SQL Server Books Online.

这是因为未开启Ole Automation Procedures选项,MSDN中的Ole Automation Procedures选项。执行下面的语句开启这个选项:sp_configure'show advanced options',1;GO

RECONFIGURE;GOsp_configure'Ole Automation Procedures',1;GO

RECONFIGURE;GO

所有的准备工作都已经做好,那就试验一下吧。

Example1:忽略大小写并替换selectdbo.regexReplace('123456',']*[^','',1,1)

Example2: 使用贪婪匹配

html代码:

Also Available - Smith Hogan: Criminal Law Cases Materials 10th ed

There is, as ever, detailed analysis of the many recent case developments, in particular,

a revision of the chapter dealing with secondary liability and joint enterprise.

调用代码:selectdbo.regexReplace(html,']*(.|\n)*?','',1,1)

Example3:去除html标签selectdbo.regexReplace('

Key Contact:

Mr Jack, Zhou

General Manager

Mr Adu, Ho

Marketing Director

Overseas Sales

MsWinny, Luo

Sales Manager

Overseas Sales',']*','',1,0)

Example4:数据库字段值替换updateBooks。

java怎么设置过滤器

首先,创建一个类实现Filter接口,完成相应的逻辑代码。

接着,在web.xml里添加此过滤器类。


本文标题:java代码过滤 Java 过滤器
标题来源:http://scyanting.com/article/hjejes.html