真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java中文過濾器代碼 正則過濾中文java

jsp\java 如何編寫過濾器過濾特殊字符?

package com.jingdu.common;

創(chuàng)新互聯(lián)主營名山網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶APP開發(fā),名山h5小程序制作搭建,名山網(wǎng)站營銷推廣歡迎名山等地區(qū)企業(yè)咨詢

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 = "";

//設(shè)置請求編碼格式

servletresponse.setContentType("text/html");

servletresponse.setCharacterEncoding("UTF-8");

servletrequest.setCharacterEncoding("UTF-8");

java.util.Enumeration params = request.getParameterNames();

//循環(huán)讀取參數(shù)

while (params.hasMoreElements()){

param = (String) params.nextElement(); //獲取請求中的參數(shù)

String[] values = servletrequest.getParameterValues(param);//獲得每個參數(shù)對應(yīng)的值

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

paramValue = values[i];

//轉(zhuǎn)換目標(biāo)字符變成對象字符,可以多個。后期擴展特殊字符庫用于管理

paramValue = paramValue.replaceAll("'","");

paramValue = paramValue.replaceAll("@","");

paramValue = paramValue.replaceAll("胡錦濤","***");

//這里還可以增加,如領(lǐng)導(dǎo)人 自動轉(zhuǎn)義成****,可以從數(shù)據(jù)庫中讀取非法關(guān)鍵字。

values[i] = paramValue;

}

//把轉(zhuǎn)義后的參數(shù)重新放回request中

request.setAttribute(param, paramValue);

}

//繼續(xù)向下 執(zhí)行請求,如果有其他過濾器則執(zhí)行過濾器

arg2.doFilter(request, response);

}

public void destroy() {

// TODO Auto-generated method stub

}

}

java 如何過濾html代碼,只保留中文或英文及基本常用符號

很容易,首先建立一個字符串?dāng)?shù)組,也就是你需要過濾掉的html標(biāo)簽String[] filterArrays = new String[]{"html","/html","table","/table".....一系列有關(guān)html標(biāo)簽的東西}

當(dāng)你得到一個html代碼的字符串時你可以循環(huán)遍歷上面的數(shù)組,然后調(diào)用String自帶的方法replaceAll();

我給你簡單的示范一下啊

String str = "dfgdgdfgdgd";//需要過濾的帶有HTML標(biāo)簽的代碼字符串

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

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

str = str.replaceAll(filterArrays[i],"");//將html標(biāo)簽替換成了空格

}

}

這樣就搞定了,主要是你需要在filterArrays中增加你需要過濾的字符串,當(dāng)然還會有更好的辦法,可以不用增加這樣的數(shù)組,因為出現(xiàn)""必然會有"",或者"/"這樣的標(biāo)簽,但是這樣做可能會將一些無關(guān)的也過濾掉了,總之兩種方法都可以,第一種呢我都給你寫了例子!祝你成功啊

java如何創(chuàng)建過濾器

弄過濾器,要實現(xiàn)filter接口,下面我寫一個小例子

主要是用過濾器處理中文編碼,至于你要用來做什么,你再自己寫。。。比如權(quán)限控制,登錄驗證,之類

//下面這是一個類。。。。

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);//讓過濾器執(zhí)行下一個請求

}

public void destroy() {}

public void init(FilterConfig arg0) throws ServletException {}

}

//下面這個是在web.xml下的配置

filter

filter-nameencoding/filter-name

filter-class

剛剛創(chuàng)建的那個實現(xiàn)filter接口的類的位置

例如:com.temp.filter.EncodingFilter

/filter-class

/filter

filter-mapping

filter-nameencoding/filter-name

url-pattern*.jsp這個是以jsp為后綴的文件都攔截下來/url-pattern

/filter-mapping

可以寫多個的filter-mapping來配置你所要攔截的東西

恩,有點嘮叨,希望可以幫助到你

在java中,使用過濾器編碼過濾亂碼時,過濾器的編碼怎么寫?

public void doFilter(ServletRequest srequest, ServletResponse sresponse,

FilterChain chain) throws IOException, ServletException {

if (null != encoding) {

HttpServletRequest request = (HttpServletRequest)srequest;

HttpServletResponse response = (HttpServletResponse)sresponse;

// 對請求進行編碼設(shè)置

request.setCharacterEncoding(encoding); //把請求用指定的方法編碼

response.setContentType("text/html");

response.setCharacterEncoding(encoding); //把返回響應(yīng)指定 編碼方式

System.out.println("------------過濾編碼-------------" + encoding);

}

// 把處理權(quán)限交給下一個過濾器

chain.doFilter(srequest, sresponse);

}//這是核心方法

正好項目中有用到

請問這段JAVA過濾器代碼要放在哪里執(zhí)行?

看到Servlet,可以明確這是個web項目。

所以你需要新建一個web工程,然后在web.xml中配置該過濾器。

關(guān)于java過濾器解決中文亂碼的

因為你遺漏了重要的一步。正確的方法如下:

if(encoding!=null){

//設(shè)置request字符編碼

request.setCharacterEncoding(encoding);

//設(shè)置response字符編碼

response.setContentType("text/html;charset="+encoding);

response.setCharacterEncoding(encoding);

}

//傳遞給下一個過濾器

chain.doFilter(request,?response);


當(dāng)前文章:java中文過濾器代碼 正則過濾中文java
網(wǎng)站網(wǎng)址:http://weahome.cn/article/hggces.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部