(1解决中文乱码
request.setCharacterEncoding():是设置从request中取得的值或从数据库中取出的值。
request.setCharacterEncoding("");-----解决中文乱码
---------从a页面向b页面传递数据时,防止传递的数据是乱码
response.setContentType指定 HTTP 响应的编码,同时指定了浏览器显示的编码.
response.setCharacterEncoding设置HTTP 响应的编码,如果之前使用response.setContentType设置了编码格式,则使用response.setCharacterEncoding指定的编码格式覆盖内之前的设置.与response.setContentType相同的是,调用此方法,必须在getWriter执行之前或者response被提容交之前.
response.setContentType();------解决中文乱码
---------从a页面向b页面跳转,防止b页面中文乱码
(2 转向页面
request.getRequestDispactcher().forword();—转发
response.sendRedirect();------重定向
--------转发可以以request作用域传递数据,response将丢失equest作用域内的数据。(如要将a=9传递到下一个页面使用,如果用request.setAttribute()保存知数据,使用转发则下一个页面可以接受到这个值,但是用response则这个值将不存在。)
一般情况下根据这亮点区别应该可以看出来什么时候使用request和什么时候使用response。
编码中的setCharacterEncoding 理解
1、pageEncoding="UTF-8"的作用是设置JSP编译成Servlet时使用的编码。
2、contentType="text/html;charset=UTF-8"的作用是指定对服务器响应进行重新编码的编码。
3、request.setCharacterEncoding(“UTF-8”)的作用是设置对客户端请求进行重新编码的编码。
4、response.setCharacterEncoding(“UTF-8”)的作用是指定对服务器响应进行重新编码的编码。
response.setCharacterEncoding(“UTF-8”)的作用是指定对服务器响应进行重新编码的编码。同时,浏览器也是根据这个参数来对其接收到的数据进行重新编码(或者称为解码)。所以在无论你在JSP中设置response.setCharacterEncoding (“UTF-8”)或者response.setCharacterEncoding(“GBK”),浏览器均能正确显示中文(前提是你发送到浏览器的数据编码是正确的,比如正确设置了pageEncoding参数等)。