设计利用过滤器实现全站统一编码功能并画出流程图然后进行说明怎么做???
创建servlet过滤器文件:
package com.filter;
import javax.servlet.*;
import java.io.IOException;
/**
* Servlet Filter implementation class UtfFilter
*/
public class ConfigFilter implements Filter {
// 定义一个获取初始化值的标杆
private static String encoding = null;
/**
* Default constructor.
*/
public ConfigFilter() {
// TODO Auto-generated constructor stub
}
/**
* @see Filter#destroy()
*/
public void destroy() {
}
/**
* @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
*/
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
if (encoding != null) {
// 设置请求的编码格式
request.setCharacterEncoding(encoding);
// 响应的编码格式
response.setCharacterEncoding(encoding);
// 放行
chain.doFilter(request, response);
}
}
/**
* @see Filter#init(FilterConfig)
*/
public void init(FilterConfig fConfig) throws ServletException {
// 获取初始化变量赋值
encoding = fConfig.getInitParameter("character");
}
}
配置web.xml:
<filter>
<filter-name>ConfigFilter</filter-name>
<filter-class>com.filter.ConfigFilter</filter-class>
<init-param>
<param-name>character</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>ConfigFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
流程图(转载csdn:https://blog.csdn.net/jguangyou/article/details/84296532)
过滤器,你创建一个自定义过滤器继承servlet中的过滤器Filter就好了。然后在里面写过滤逻辑