}
@Override
publicvoid destroy() {
}
}
Web.xml配置:

补充(装饰(包装)设计模式口诀):
补充:什么时候使用装饰设计模式
当我们需要对一个类进行增强的时候,增强后的类不再当前类的范畴(animal类型 cat dog都属于动物类型中可以使用继承,电子狗,不属于动物范围,所以选择使用包装设计模式 )中
复杂过滤器实现:
package cn.itcast.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 javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.itcast.domain.MyRequest;
publicclass EncodingFilter implements Filter{
@Override
publicvoid init(FilterConfig filterConfig) throws ServletException {
}
@Override
publicvoid doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// 强制转换request response
HttpServletRequest req = (HttpServletRequest)request;
HttpServletResponse res = (HttpServletResponse)response;
//处理响应乱码
res.setContentType("text/html;charset=utf-8");
//自定义一个request对象:MyRequest,对服务器原来的request进行增强,使用装饰设计模式
//要增强原来的request对象,必须先获取到原来的request对象
MyRequest myrequest = new MyRequest(req);
//注意:放行的时候应该,传入增强后的request对象
chain.doFilter(myrequest, res);
}
@Override
publicvoid destroy() {
}
}
自定义增强类:
package cn.itcast.domain;
import java.io.UnsupportedEncodingException;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
//第一问题:HttpServletRequestWrapper他是什么?
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shouji/article-47577-8.html
更有利于我们
何为发财