传递数据
- request
- response
- session
- 解决中文乱码
- 重定向和转发的区别
request对象
request对象是从客户端向服务器发出请求。
request的大概方法如下:
form 得到form对象中元素的值
request.getParameter() 方法传递的数据,会从Web客户端传到Web服务器端,代表HTTP请求数据。request.getParameter()方法返回String类型的数据。
request.getRequestDispatcher()是请求转发,前后页面共享一个request,返回的是一个jsp名字
request.setAttribute()方法是拿到某一个jsp文件form里面的内容,配合request.getAttribute()使用
response 对象
Response对象用于动态响应客户端请示,控制发送给用户的信息,并将动态生成响应。
response.sendRedirect() 响应服务器传递的信息并转发到一个新JSP
session对象
Session对象是代表当前会话,在ASP中代表了服务器与客户端之间的“会话”。
解决中文乱码
//中文治标方法
String chinese=new String(userName.getBytes("iso-8859-1"),"utf-8");
out.print(chinese);
//治标方法
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
重定向和转发的区别
request.setAttribute("name", userName);
request.setAttribute("pwd", userName);
//第一个参数是代表转发的路径
request.getRequestDispatcher("into.jsp").forward(request, response);
转发在服务器端完成的;重定向是在客户端完成的
转发的速度快;重定向速度慢
转发的是同一次请求;重定向是两次不同请求
转发不会执行转发后的代码;重定向会执行重定向之后的代码
转发地址栏没有变化;重定向地址栏有变化
转发必须是在同一台服务器下完成;重定向可以在不同的服务器下完成