「java过滤编码」编码过滤器的实现代码和配置代码
今天给各位分享java过滤编码的知识,其中也会对编码过滤器的实现代码和配置代码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java filter 过滤器中文乱码 怎么解决啊?
- 2、java 如何过滤html代码,只保留中文或英文及基本常用符号
- 3、JAVA的服务器过滤器(encodingFilter)有啥用?说的通俗一点,用与不用啥区别?百度上
- 4、jsp\java 如何编写过滤器过滤特殊字符?
- 5、在java中,使用过滤器编码过滤乱码时,过滤器的编码怎么写?
- 6、Java获取字符的Unicode编码以及如何过滤特
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过滤编码的信息别忘了在本站进行查找喔。
发布于:2022-12-16,除非注明,否则均为
原创文章,转载请注明出处。