一个Filter编码过滤的白痴问题

这几天一直因为一段编码过滤的代码崩溃着,本来都准备放逐他了···结果今天正好看到一位大神写的关于Filter的编码问题的代码,我就又去研究了一番。行,先将这个编码过滤的基本代码传上来:

EncodingFilter类:

<span style="font-size:18px;">import java.io.IOException;

import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.test.util.HttpFilter;

/**
 * 编码过滤器
 */
@WebFilter("/EncodingFilter")
public class EncodingFilter extends HttpFilter {

	private String encoding;
	
	@Override
	protected void init() {
		encoding = getFilterConfig().getServletContext().getInitParameter("encoding");
	}
	@Override
	public void doFilter(HttpServletRequest request,
			HttpServletResponse response, FilterChain chain)
			throws IOException, ServletException {
		
		System.out.println(encoding);
		request.setCharacterEncoding(encoding);
		System.out.println("设置成功");
		chain.doFilter(request, response);
	}
}</span>

web.xml:这个编码是写在contextParam中的

<span style="font-size:18px;"> <context-param>
  	<param-name>encoding</param-name>
  	<param-value>UTF-8</param-value>
 </context-param> 
 <filter>
  	<filter-name>EncodingFilter</filter-name>
  	<filter-class>com.test.test.EncodingFilter</filter-class>
  </filter>
  <filter-mapping>
  	<filter-name>EncodingFilter</filter-name>
  	<url-pattern>/encoding/*</url-pattern>
  </filter-mapping></span>

接下来是页面代码:

a.jsp:主要代码就只有一个表单

<span style="font-size:18px;"><form action="b.jsp">
       name:<input type="text" name="name" />
<input type="submit" value="submit">
</span>

b.jsp:接受表单提交的name

<span style="font-size:18px;">Hello : ${param.name }</span>

所有代码都贴上了,大家有没看出问题出在哪?

这里所有代码本人都测试成功了。。连编码获取我也进行了输出以确保成功,但是我找了很久都没找出错误,终于在今天发现了问题的关键:

其实真的只是一时手欠啊···

咳咳,回归正题,就是在a.jsp页面中的表单提交,应该加上一句   method=“post”  ,没错,就是这么简单哭哭,害我弄了可久,痛苦啊!!

果然,细节决定成败啊!!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值