<servlet>
<servlet-name>action</servlet-name>
<servlet-class>com.soft.struts.action.MyActionServlet</servlet-class>
......
</servlet>
二、写一个过滤器类EncodingFilter.class,执行相关路径之前执行这个过滤器类。
Java代码 收藏代码
package com.soft.struts.filter;
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 org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
/**
* class EncodingFilter
*
* @author xiaoqing.yu
*/
public class EncodingFilter implements Filter {
/** encoding */
protected String encoding = null;
/** config */
protected FilterConfig config;
/** log */
protected static final Log log = LogFactory.getLog(EncodingFilter.class);
/**
* Mehtod destroy
*/
public void destroy() {
this.config = null;
this.encoding = null;
}
/**
* Method doFilter
*
* @param request
* ServletRequest
* @param response
* ServletResponse
* @param filterChain
* FilterChain
*/
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filterChain) throws IOException, ServletException {
log.info("Before excuted the body of method EncodingFilter.doFilter(), Character Encoding is : "
+ request.getCharacterEncoding());
log.info("Excuting the body of method EncodingFilter.doFilter()...");
if (request.getCharacterEncoding() == null) {
if (this.getEncoding() != null) {
request.setCharacterEncoding(this.getEncoding());
}
}
log.info("After excuted the body of method EncodingFilter.doFilter(), Character Encoding is : "
+ request.getCharacterEncoding());
filterChain.doFilter(request, response);
}
/**
* Method init
*
* @param filterConfig
* FilterConfig
*/
public void init(FilterConfig filterConfig) throws ServletException {
this.config = filterConfig;
this.encoding = this.config.getInitParameter("Encoding");
log.info("Init Parameter Encoding : " + this.encoding);
}
/**
* Method getEncoding
*
* @return String
*/
public String getEncoding() {
return encoding;
}
}