请教问题

youfeng445 2010-11-26 04:26:41
自己写了个发邮件的小项目,但是路径是中文的话,经过action跳转后,

得到的路径中.中文部分,会变成乱码,页面form的提交方式用的是post,

页面编码统一UTF-8,不知道为什么这样传送到action后会变乱码....

然后我写了个字符过滤器,奇怪的事就发生了,原来可以显示的页面一片空白,

然后把过滤器注释掉,又正常显示,这是什么原因
...全文
54 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
youfeng445 2010-11-26
  • 打赏
  • 举报
回复
看到问题了

// if(encoding != null && !"".equals(encoding)) {



后半句判断少了个非...粗心啊...
youfeng445 2010-11-26
  • 打赏
  • 举报
回复
问题已经解决了

public class CharacterEncodingFilter implements Filter {

private String encoding;

public void destroy() {
encoding = null;
}

public void doFilter(ServletRequest req, ServletResponse res,
FilterChain chain) throws IOException, ServletException {
// if(encoding != null && "".equals(encoding)) {
req.setCharacterEncoding(encoding);
res.setCharacterEncoding(encoding);
chain.doFilter(req, res);
}
// }

public void init(FilterConfig conf) throws ServletException {
encoding = conf.getInitParameter("encoding");
System.out.println(encoding);
}

}

<filter>
<filter-name>characterFilter</filter-name>
<filter-class>com.dne.javamail.commons.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>characterFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

我把那2行注释之后就可以了 -_-||想不通
tntsuifeng 2010-11-26
  • 打赏
  • 举报
回复
把你写的过滤器的代码发上来看下,还有配置过滤器的配置

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧