servlet请求转发与重定向及乱码问题
1.servlet请求转发与请求重定向
request.getRequestDispacther("/test.jsp").forword(request,response);
response.sendRedirect("test.jsp");
1.1sendRedirect Get请求
URL改变
至少两次请求
可以跳转至任意地址其他网站
1.2请求转发
URL不改变,效率高
2.请求乱码问题
response.setContentType("text/html;charset=UTF-8");
目的是为了控制浏览器的行为,即控制浏览器用UTF-8进行解码;
response.setCharacterEncoding("UTF-8");
目的是用于 response.getWriter()输出的字符流的乱码问题,如 果是 response.getOutputStream()是不需要此种解决方案的;因为这 句话 的意思是为了将response对象中的数据以UTF-8解码后发向浏览 器;
浏览器默认用ISO8859-1发送参数所以服务端需要
Stringname = request.getParameter("name");
name= new String(name.getBytes("iso8859-1"),"utf-8");
学习心得:
1.先从最简单的开始,化繁至简。