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

来源:互联网 发布:excel中如何用宏编程 编辑:程序博客网 时间:2024/06/03 14:48

这几天一直因为一段编码过滤的代码崩溃着,本来都准备放逐他了···结果今天正好看到一位大神写的关于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;@Overrideprotected void init() {encoding = getFilterConfig().getServletContext().getInitParameter("encoding");}@Overridepublic 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
原创粉丝点击