servlet文件
/**
* 请求和响应编码处理
*
*/
public class TestServlet extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
/**
* 客户端默认的请求编码是iso-8859-1
*
*/
String nameStr = request.getParameter("name");
byte[] b = nameStr.getBytes("iso-8859-1");
nameStr = new String(b,"UTF-8");
System.out.println(nameStr);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
/**
* 因为当前html文件的编码是"UTF-8",所以只要设置request.setCharacterEncoding("UTF-8")后
* 那么服务器响应的编码也是UTF-8
*/
request.setCharacterEncoding("UTF-8");
String nameString = request.getParameter("name");
System.out.println(nameString);
response.getWriter().print("哈哈");
}
}
html文件
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!-- 设置编码格式 -->
<meta http-equiv="content-type" content="text/html;charset=UTF-8">
</head>
<body>
<form action="/servlet_life/TestServlet" method="post" >
<div> <input type="text" value="中国" name = "name"/> </div>
<div> <input type="submit" value="submit"/> </div>
<div> <a href = "/servlet_life/TestServlet?name=肖建斌"> GET </a> </div>
</form>
</body>
</html>