请求转发和请求重定向的区别是: 请求转发只有一次请求,请求重定向有两次请求。
# 1、 请求转发 方法实现 将RequestFrowardServlet
里的company的值转发给ResaultServlet
展示
域对象:在一定范围内可以存值和取值 request域对象:在一次请求中可以存值和取值。
.setAttribute(String key, Object obj)
存值: requestObject obj = request.getAttribute(String key, Object obj)
取值: .removeAttRibute(String key) 删除值: request
RequestFrowardServlet
// 获取转发对象
= request.getRequestDispatcher("/resault");
RequestDispatcher rd // 调用转发方法,实现转发效果
.setAttribute("company","abc公司");
request.forward(request, response); rd
ResaultServlet
// 处理响应中文乱码
.setContentType("text/html;charset=utf-8");
response// 获取并转换获取的company所对应的的值
String name = (String) request.getAttribute("company");
// 输出到页面
.getWriter().write(name); response
2、 请求重定向 方法实现
将RequestFrowardServlet
里的company的值转发给ResaultServlet
展示
RequestFrowardServlet
// 重定向
.sendRedirect("welcom"); response
ResaultServlet
// 处理响应中文乱码
.setContentType("text/html;charset=utf-8");
response// 获取转发过来的参数
String usr = request.getParameter("username");
String psd = request.getParameter("password");
// 打印参数
.getWriter().write(usr+"<br>");
response.getWriter().write(psd+"<br>"); response