解决方法1直接通过setCharacterEncoding()方法设置一个统一的编码。
程序如下:
<%@page language="java" contentType="text/html;charset=gbk"%>
<html>
<head>
<title>Insert title here </title>
</head>
<body>
<%
//接收表单提交的信息
request.setCharacterEncoding("gbk");
String info = request.getParameter("info");
%>
<%=info%>
</body>
</html>
解决方法2使用过滤器实现的关键代码如下
@WebFilter(urlPatterns={"/*"},initParams={@WebInitParam(name="encoding",value="gbk")})
public class CharsetFilter implements Filter{
private String encoding;
public void destroy(){
}
public void doFilter(....){
//设置统一编码
request.setCharacterEncoding(encoding);
chain.doFilter(request,response);
}
public void init.....{
//取得初始化参数
this.encoding=fConfig.getInitParameter("encoding");
}
}