「java过滤编码」编码过滤器的实现代码和配置代码

博主:adminadmin 2022-12-16 00:24:07 63

今天给各位分享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 如何过滤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的服务器过滤器(encodingFilter)有啥用?说的通俗一点,用与不用啥区别?百度上

Filter 过滤器 ,通过Filter技术,你可以在用户访问某个目标资源之前,对访问的请求进行拦截。在Filter中做一些你自己的业务处理。encodingFilter 是一个对编码进行统一处理的过滤,对请求和响应设置 你预先在xml配置的固定编码。

用与不用的区别

用了,你在xml配置中过滤的访问都会预先设置编码格式,这样更加方便全局处理。

不用,你在某些资源出现编码问题时,手动设置一下编码,效果一样

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

package com.jingdu.common;\x0d\x0aimport java.io.IOException;\x0d\x0aimport java.io.PrintWriter;\x0d\x0aimport javax.servlet.Filter;\x0d\x0aimport javax.servlet.FilterChain;\x0d\x0aimport javax.servlet.FilterConfig;\x0d\x0aimport javax.servlet.ServletException;\x0d\x0aimport javax.servlet.ServletRequest;\x0d\x0aimport javax.servlet.ServletResponse;\x0d\x0aimport javax.servlet.http.HttpServletRequest;\x0d\x0aimport javax.servlet.http.HttpServletResponse;\x0d\x0a\x0d\x0apublic class IllegalCharacterFilter implements Filter {\x0d\x0a private String[] characterParams = null;\x0d\x0a private boolean OK=true;\x0d\x0a \x0d\x0a public void init(FilterConfig config) throws ServletException {\x0d\x0a \x0d\x0a// if(config.getInitParameter("characterParams").length()

回答于 2022-11-16

在java中,使用过滤器编码过滤乱码时,过滤器的编码怎么写?

public void doFilter(ServletRequest srequest, ServletResponse sresponse,

FilterChain chain) throws IOException, ServletException {

if (null != encoding) {

HttpServletRequest request = (HttpServletRequest)srequest;

HttpServletResponse response = (HttpServletResponse)sresponse;

// 对请求进行编码设置

request.setCharacterEncoding(encoding); //把请求用指定的方法编码

response.setContentType("text/html");

response.setCharacterEncoding(encoding); //把返回响应指定 编码方式

System.out.println("------------过滤编码-------------" + encoding);

}

// 把处理权限交给下一个过滤器

chain.doFilter(srequest, sresponse);

}//这是核心方法

正好项目中有用到

Java获取字符的Unicode编码以及如何过滤特

java中可以使用char类提供的charAt()方法来获得字符的unicode的编码值,示例如下:

public static String getUnicode(String source){ String returnUniCode=null; String uniCodeTemp=null; for(int i=0;isource.length();i++){ uniCodeTemp = "\\u"+Integer.toHexString((int)source.charAt(i));//使用char类的charAt()的方法 returnUniCode=returnUniCode==null?uniCodeTemp:returnUniCode+uniCodeTemp; } System.out.print(source +" 's unicode = "+returnUniCode); return returnUniCode;//返回一个字符的unicode的编码值}

java过滤编码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于编码过滤器的实现代码和配置代码、java过滤编码的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-16,除非注明,否则均为首码项目网原创文章,转载请注明出处。