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: