servlet转发与重定向区别

  HttpServletRequest:

  表示浏览器向服务器发送的请求报文,由Tomcat创建然后作为参数传递给我们doget,dopost方法。

  功能:getParameter()获取请求参数

     getContextPath()获取当前项目名

     request..getRequestDispatcher("1.html").forward(request, response);可以实现转发功能

  HttpServletResponse:

  表示服务器响应给浏览器的响应报文,由服务器创建然后作为参数传递给我们doget,dopost方法。

  功能:response.getWriter().println("<h3>hello world!</h3>");可以返回给浏览器一个页面或者一个页面片段

     response.Redirect("/servlet1/1.html"); :可以做请求的重定向

转发与重定向区别
 请求 发生地 浏览器请求次数 地址栏是否变化 浏览器是否能够感知  路径
转发 服务器端 1 无变化 感知不到  绝对路径由服务器解析,相对于项目的根目录http://主机地址:端口号/项目名/
重定向 浏览器端 2 变化 能感知到  浏览器解析,相对于服务器的根目录http://主机地址:端口号/

  

时间: 2024-08-08 00:40:09

servlet转发与重定向区别的相关文章

Servlet转发和重定向的区别

附上视频教学的一张图: 区别: 1.转发产生一次请求,一次响应: 重定向产生2次请求 两次响应 2.转发客户端不可见的: 重定向客户端是可以察觉的. 3.转发时候url不变: 重定向URL会改变 案例:A与B两个Servlet的转发与重定向 转发:getRequestDispatcher(); ServletContext context= getServletContext(); RequestDispatcher dis = context.getRequestDispathcer("/b&

servlet转发与重定向

HttpServletRequest: 表示浏览器向服务器发送的请求报文,由Tomcat创建然后作为参数传递给我们doget,dopost方法. 功能:getParameter()获取请求参数 getContextPath()获取当前项目名 request..getRequestDispatcher("1.html").forward(request, response);可以实现转发功能 HttpServletResponse: 表示服务器响应给浏览器的响应报文,由服务器创建然后作为

servlet转发和重定向

1 转发 RequestDispatcher getRequestDispatcher(java.lang.String path) 1)地址栏不会改变 2)转发只能转发到当前web应用内的资源 3)可以在转发过程中,可以把数据保存到request域对象中 2 重定向 1)地址栏会改变,变成重定向到地址. 2)重定向可以跳转到当前web应用,或其他web应用,甚至是外部域名网站. 3)不能再重定向的过程,把数据保存到request中. 转发和重定向区别示意图,黑色线代表转发,绿色线代表重定向:

Servlet转发和重定向response.sendRedirecte()区别 (转)

转发(forward):IE浏览器地址不会改变,始终是同一个请求.重定向(sendRedirect): IE浏览器地址会改变,用两个请求.1)转发a)地址栏不会改变b)转发只能转发到当前web应用内的资源 c)可以在转发过程中,可以把数据保存到request域对象中 //Servlet转发 request.getRequestDispatcher("/list.jsp").forward(request,response); 转发过程 客户首先发送一个请求到服务器端,服务器端发现匹配的

SpringMVC转发和重定向区别!

在servlet中,转发和重定向是由request和response完成的.两者之间的区别请看我之前的文章.那么在springMVC中是如何完成的呢? /**转发**/ @RequestMapping("/login.do") public String login(HttpServletRequest request,HttpServletResponse response){ request.setAttribute("message", "hello

【java手记】------------------------java中转发和重定向区别

转发: request.getRequestDispatcher("success.jsp").forward(request,response); 在服务器组件收到用户请求后.经过它的处理后有传递给了另一个组件.不修改用户的请求码.各组件处理完之后在返回给用户,例如主页面的框架. 用户请求----->服务器------->组件1------->组件2------->服务器------->用户 (请求不变) 重定向: response.sendRedire

请求转发和重定向区别

1,请求重定向:客户端行为,response.sendRedirect(),从本质上讲等同于两次请求,前一次的请求对象不会保持,地址栏的URL地址会改变. 2,请求转发:服务器行为,request.getRequsetDispatcher().forward(requset,response);是一次请求,转发后请求对象会保存,地址栏的URL地址不会改变.(服务器内部转发,所有客户端看不到地址栏的改变) 请求重定向:就好比我们找一个A广告公司给设计名片,A明确告诉我们他们不会设计,就让我们找B公

4.Struts2请求转发和重定向区别

转发以及重定向解析

转发和重定向区别详解 作为一名程序员,特别是java web开发的程序员,在使用servlet/jsp的时候,我们必须要知道实现页面跳转的两种方式的区别和联系:即转发和重定向的区别. 1.RequestDispatcher.forward方法只能将请求转发给同一个WEB应用中的组件:而HttpServletResponse.sendRedirect 方法不仅可以重定向到当前应用程序中的其他资源,还可以重定向到同一个站点上的其他应用程序中的资源,甚至是使用绝对URL重定向到其他站点的资源.如果传递