servlet中解决中文乱码问题
1.解决post方式的中文乱码问题:
|
//解决post方式的中文乱码问题 //1、设置请求对象的编码格式为utf-8. //为了保证,在servlet中获取到的字符不会有乱码 request.setCharacterEncoding("utf-8"); //设置响应对象的编码格式为utf-8 //为了保证,servlet向客户端响应的消息不会有乱码 response.setCharacterEncoding("utf-8");
|
2.解决get方式的中文乱码问题
1、第一种解决方式:
// 读取用户名和密码
String name = request.getParameter("name");
// 对请求数据进行字符编码(重新对获取到的字符串进行编码)
name = new String(name.getBytes("ISO-8859-1"), "UTF-8");
2、设置server.xml文件
|
在Tomcat目录结构\conf\server.xml中设置字符集 <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8”/> |
请求转发和重定向
1.重定向:
说明:
1.重定向使用语句response.sendRedirect("/Servlet2/welcome.jsp");
2.重定向使用的是response响应对象,说明重定向是由服务器向客户端发送了一个响应消息。
3.重定向,客户端向服务器发送两次请求;
4.重定向的本质:由服务器告诉客户端,你再去请求去另外一个资源。
5.重定向的两次请求之间其实没有什么关系。
6.重定向中:“/servlet2/welcome.jsp”,第一个‘/’指向服务器的跟路径
2.请求转发
说明:
1.请求转发全过程只发起一次请求;中间转发了多少次,对客户端来说最后反馈的消息都是从所请求转发的对象来的
2.请求转发,可以将请求转发的内容以及处理的结果一起转发给下一个节点。
3.路径问题:请求转发getRequestDispatcher(“/welcome.jsp”)中的“/”表示项目的跟路径
请求准发和重定向的区别:
|
内容 |
请求转发 |
重定向 |
|
请求次数 |
1次 |
2次 |
|
对客户端来说返回的结果从哪里来(可以从URL地址栏中表现出来) |
所请求的资源响应的内容
|
最后一次重定向的资源所响应的内容
|
|
是否可以转发信息 |
可以转发信息
|
不可以
|
|
绝对路径中的“/” |
项目的根路径 |
服务器的根路径 |
会话技术:
cookie:
session: