Tomcat7下开发新特性尝试

17 篇文章 0 订阅
4 篇文章 0 订阅

      如果servlet中输出的内容是中文时,就会出现??,这些是乱码,该如何解决呢?

      以往我们使用过滤器的方式来统一解决乱码问题,在这里,我们也一样使用过滤器来解决此问题,但是在tomcat中,过滤器也可以不在web.xml中配置一样可以使用,这个配置被一个注释替代,

代码:

 

package web.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.annotation.WebFilter;

@WebFilter(urlPatterns={"/*"})
public class CharactorFilter implements Filter {
	
	@Override
	public void destroy() {
	}

	@Override
	public void doFilter(ServletRequest arg0, ServletResponse arg1,
			FilterChain arg2) throws IOException, ServletException {
		arg0.setCharacterEncoding("GBK");
		arg1.setCharacterEncoding("GBK");
		arg2.doFilter(arg0, arg1);
	}

	@Override
	public void init(FilterConfig arg0) throws ServletException {

	}

}

 

这个类的功能就是实现编码的转换,解决乱码的问题,和servlet一样,在类开始处加上一个注记@WebFilter,括号里的参数是此过滤器拦截的路径,这里拦截所有的请求路径,不过和servlet一样,由于编码值的参数都写死在代码中,灵活性要降低,所以说有得也有失吧,看具体情况再决定。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值