还记得在学servlet的时候,处理中文乱码时:如果是GET提交则用byte[] nameByte = str.getBytes("ISO-8859-1"); str = new String(nameByte, "UTF-8");解决,如果是Post提交了则更容易,用request.setCharacterEncoding("UTF-8");来解决。
现在在处理JAX_RS的时候,可以在他提供的过滤器中写入request.setCharacterEncoding("UTF-8");即可,代码如下:
- public class CharacterEncodingFilter implements ContainerRequestFilter {
- @Context
- HttpServletRequest request;
- @Override
- public void filter(ContainerRequestContext requestContext) throws IOException {
- request.setCharacterEncoding("UTF-8");
- }
- }
如果你用dubbo+Rest的话,也可以用这种方式来解决。
本文介绍了解决JAX-RS应用中GET和POST请求中文乱码的方法。对于GET请求,通过转换字节编码从ISO-8859-1到UTF-8解决乱码问题;对于POST请求,在过滤器中设置request.setCharacterEncoding(UTF-8)。此外,还提到了使用Dubbo+REST时如何采用相同策略。
1419

被折叠的 条评论
为什么被折叠?



