我有这行代码response.setCharacterEncoding("UTF-8");
问题是: 方法setCharacterEncoding(String)未定义类型HttpServletResponse
eclips建议将response
转换为request
,这是我不想要的。任何人都可以帮我解决这个问题吗?
答案 0 :(得分:3)
见the javadoc。从servlet 2.4开始存在这种方法。您的服务器支持servlet规范的此版本(或更高版本),并且buildpath中的jar太旧,或者它不支持它,并且您不应该使用此方法。
在后一种情况下,请阅读javadoc以了解应该替换它的内容。
答案 1 :(得分:3)
另一种方法是设置内容类型。
response.setContentType("text/html;charset=UTF-8");
您可以阅读方法setContentType
上的 docs :
容器必须传达内容类型和字符 用于servlet响应的编写器的编码,如果是 协议提供了这样做的方法。在HTTP的情况下, 1}}使用了
Content-Type
标头。
答案 2 :(得分:2)
方法setCharacterEncoding(String charset)
在HttpServletResponse
的父类ServletResponse
中定义。如果eclipse抱怨它没有为类型定义,那么你可能有一个不正确的import语句。尝试删除所有导入语句,然后按Ctrl + O.