<!-- web.xml 中的过滤器配置,过滤中文 -->
<filter>
<filter-name>CharacterEncoding</filter-name>
<filter-class>
com.itJob.wit.util.SetCharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>ignore</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
package com.itJob.wit.util;
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;
/**
* 描述:中文过滤器
* @author TEAMWORK
* <p>
*/
public class SetCharacterEncodingFilter implements Filter {
protected String encoding = null;
protected FilterConfig filterConfig = null;
protected boolean ignore = true;
public void destroy() {
this.encoding = null;
this.filterConfig = null;
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
if (ignore && (request.getCharacterEncoding() == null)) {
String encoding = selectEncoding(request);
if (encoding != null) {
request.setCharacterEncoding(encoding);
}
}
chain.doFilter(request, response);
}
public void init(FilterConfig request) throws ServletException {
this.filterConfig = request;
this.encoding = filterConfig.getInitParameter("encoding");
String value = filterConfig.getInitParameter("ignore");
if (value == null) {
this.ignore = true;
} else if (value.equalsIgnoreCase("true")) {
this.ignore = true;
} else if (value.equalsIgnoreCase("yes")) {
this.ignore = true;
} else {
this.ignore = false;
}
}
protected String selectEncoding(ServletRequest request) {
return (this.encoding);
}
}
分享到:
相关推荐
本篇文章将详细探讨SSH框架中的中文乱码问题,以及如何通过实现自定义过滤器(Filter)来解决这一问题。 首先,我们要理解乱码的产生原因。在HTTP请求中,数据编码格式不一致是导致乱码的主要因素。例如,客户端...
- **Filter**:通过编写自定义的过滤器(Filter)来统一设置请求和响应的字符集。 - **代码实现**: ```java package com.yourcompany.filter; import java.io.IOException; import javax.servlet.Filter; ...
7. **过滤器(Filters)**:可能包含Spring的安全过滤器,如`DelegatingFilterProxy`,用于拦截请求并进行权限控制。 由于文件列表只给出了"SSH",具体示例中的文件名可能还需要根据实际情况来解析。这个Demo不仅...
本文将总结解决SSH中文乱码问题的方法,主要涉及到spring的编码过滤器、struts.properties配置、MyEclipse工程属性设置等方面。 一、 Spring 的编码过滤器 Spring提供了一个CharacterEncodingFilter来解决中文乱码...
#### 一、使用过滤器解决中文乱码 **1. 创建自定义过滤器** 首先,我们需要创建一个实现了`javax.servlet.Filter`接口的类`Myfile`。在这个类中,我们将重写`doFilter()`方法来设置请求和响应的字符编码为“GBK”...
在SSH框架中,`FilterDome`可以作为全局过滤器配置在web.xml中,对所有请求生效。它可以确保无论哪个控制器处理请求,都能正确处理字符编码,避免乱码问题。通常,我们需要在Struts2的配置文件中,通过拦截器栈配置...
为了解决这个问题,开发者尝试了多种常见方法,如设置项目、数据库连接、页面编码为UTF-8,甚至添加字符编码过滤器,但这些都没有效果。这表明问题可能并不出在常规的编码设置上,而是其他因素导致的。 进一步分析...
总结,"超强过滤器"是解决JSP-Servlet之间中文参数GET-POST传递问题的有效手段,通过统一设定请求的字符编码,确保在整个Web应用中中文数据能够正确无误地传输和处理。对于大型项目,这样的全局解决方案可以大大提升...
3. **Web应用配置**:在`web.xml`文件中,需要添加一个字符编码过滤器。 **示例代码**: ```xml <!-- 添加一个编码过滤器 --> <filter-name>encodingFilter <filter-class>org.springframework.web.filter....
六、配置中文编码过滤器 在`web.xml`中添加`CharacterEncodingFilter`,确保所有请求和响应都使用UTF-8编码,避免乱码问题。 七、拆分Struts配置文件 为了便于管理和维护,可以将`struts-config.xml`拆分为多个文件...
解决这个问题需要从多方面入手,包括配置 Hibernate 的连接参数、修改 Spring 里的数据库连接、配置 encodingFilter 过滤器、 MySQL 库表编码和 JSP 页面编码形式等。 首先,在 Hibernate 的配置文件 hibernate.cfg...
- **web.xml配置**:启动Spring容器,配置Struts2过滤器,确保请求被正确拦截和处理。 4. **源代码**: - **Action**:处理用户的导出请求,调用Service层的方法,将数据转换为Excel格式并返回给客户端。 - **...
- 修改`web.xml`配置:删除旧的Struts配置,添加字符过滤器`CharFilter`,用于统一处理请求和响应的字符编码,防止乱码问题。 - 编写`CharFilter.java`:定义过滤器类,实现`Filter`接口,设置字符集,并在`...
- **解决中文乱码问题**:通过配置`web.xml`中的过滤器来设置请求编码为UTF-8,以解决可能出现的中文乱码问题。 - **配置DAO层**:建立DAO接口,并实现相应的业务逻辑。一般情况下,一个表对应一个DAO接口,其中可以...
- 复制示例项目的Struts2核心过滤器代码。 - 需要注意不同版本之间的兼容性问题。 - **配置struts.xml:** - 开发模式配置,通常设置为`true`,便于调试。 - 扩展名为.action,这是Struts2默认的URL扩展方式。 ...
写的比较简陋,,基于struts1.2+spring2.0+hibernate3.1框架 基本功能: 注册,登陆,validate框架验证,文件上传,下载,简单过滤器,权限限制,下载列表查看,下载历史记录查看 未处理中文,所有jar包...
**解析**:这里定义了一个字符编码过滤器,主要用于解决中文乱码问题。`CharacterEncodingFilter`设置请求和响应的编码方式为`utf-8`。`<url-pattern>/*</url-pattern>`表示该过滤器应用于所有请求路径。 #### 四、...
- **Struts2配置**:定义Action类及其关联的Result,配置过滤器以启动Struts2框架。 - **web.xml配置**:配置Spring的ApplicationContext监听器和Struts2的过滤器。 4. **源代码** - **Action代码**:包含导出...
该过滤器主要用于解决中文乱码问题,确保客户端发送的数据能够正确地被服务器端解析。 示例`EncodingFilter.java`代码: ```java package com.filter; import javax.servlet.*; import java.io.IOException; ...