失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > JSP使用Struts1提交中文表单时乱码 字符编码问题

JSP使用Struts1提交中文表单时乱码 字符编码问题

时间:2022-09-09 19:47:56

相关推荐

JSP使用Struts1提交中文表单时乱码 字符编码问题

最近写JSP大作业时发现把所有页面以及数据库都统一成utf-8后在写注册时数据库内插入的中文字符仍然是中文乱码,真的是快崩溃了。

后来想起来会不会是框架自身的问题,于是搜索到这个问题:

Struts框架直接把表单数据发送给了ActionForm,所以这里面没有对HttpRequestServlet进行SetCharacterEncoding,所以默认的编码方式仍然是按照ISO-8859-1。

解决方法:过滤器

创建一个CharacterEncodingFilter的过滤器来处理编码问题。

代码如下:

public class CharacterEncodingFilter implements Filter {public void destroy() {}public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {request.setCharacterEncoding("utf-8");chain.doFilter(request, response);}public void init(FilterConfig arg0) throws ServletException {}}

创建完过滤器后别忘了在配置文件中加入配置信息

<filter> <filter-name>characterEncoding</filter-name> <filter-class>所放包名.CharacterEncodingFilter</filter-class> </filter> <filter-mapping> <filter-name>characterEncoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>

这样就能解决这个字符编码的问题了!

如果觉得《JSP使用Struts1提交中文表单时乱码 字符编码问题》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。