JSP对浏览器发送来的数据进行重新编码的两种方案
最近做的DRP项目中,使用JSP操作中文时,经常会出现一些乱码问题。这些问题导致中文无法输入,或者是无法正常显示。这里就涉及到了字符集的设置、字符集的编码方式。
在JSP/Servlet中主要有以下几个地方可以设置编码,pageEncoding="GB18030",contentType="text/html;charset=GB18030"、request.setCharacterEncoding("GB18030")和 response.setCharacterEncoding("GB18030"),其中前两个只能用于JSP中,而后两个可以用于JSP和Servlet 中。
这里,我们只谈一下对浏览器发送来的数据进行重新编码时的编码方式。众所周知,要对浏览器发送来的数据进行重新编码,只需要一个语句就可以了,很简单。
方案一:(很简单吧)
<filter><filter-name>CharsetEncodingFilter</filter-name><filter-class>com.bjpowernode.drp.util.filter.CharsetEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>GB18030</param-value></init-param></filter><filter-mapping><filter-name>CharsetEncodingFilter</filter-name><url-pattern>*.jsp</url-pattern></filter-mapping>
从这个小例子中,我们可以看到,其实有很多的代码是可以进行优化的,从能实现功能的简单代码逐渐优化成不惧各种修改、各种维护的更优代码,这其中更多的是对代码优化的思考,显然,我还不够格,还需要更多的练习,更多的思考。
- 4楼lfmilaoshi昨天 23:01
- 其实有很多的代码是可以进行优化的,从能实现功能的简单代码逐渐优化成不惧各种修改、各种维护的更优代码,这其中更多的是对代码优化的思考,显然,我还不够格,还需要更多的练习,更多的思考。
- 3楼zc474235918昨天 17:52
- 总没有接触的世界。。
- 2楼liuyanlinglanq昨天 16:00
- 又有收获了
- 1楼zsj19910306昨天 15:31
- 今天我也在为这个问题纠结 谢谢了