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-10-07 12:37:58

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

Servlet转发和重定向的区别

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

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

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

servlet转发和重定向

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

servlet转发与重定向区别

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

jsp初识、servlet转发、转发与重定向的比较

jsp sun公司制定的一种服务器端动态页面技术规范 生成动态页面 jsp其实是一个以.jsp为后缀的文件,该文件的内容主要是html和少量的java代码 容器会将jsp文件自动转换成一个servlet然后执行. 如何写一个jsp文件 1.创建一个以.jsp为后缀的文件 2.在文件里面添加如下的内容: (1)html(css,js):直接写.不用写out.print (2)java代码: a.java代码片段 <% java语句: %> b.jsp表达式 <%= java表达式%>

servlet的转发与重定向

转发和重定向都能让浏览器获得另外一个URL所指向的资源,但两者的内部运行机制有着很大的区别. 1.转发:有两种方式获得转发对象(RequestDispatcher):一种是通过HttpServletRequest的getRequestDispatcher()方法获得,一种是通过ServletContext的getRequestDispatcher()方法获得: 以前的request范围中存放的变量不会失效,就像把两个页面拼到了一起. 例如: request.getRequestDispatche

Servlet中转发和重定向的路径问题

Servlet中有两种方式获得转发对象(RequestDispatcher):一种是通过HttpServletRequest的getRequestDispatcher()方法获得,一种是通过ServletContext的getRequestDispatcher()方法获得: 重定向的方法只有一种:HttpServletResponse的sendRedirect()方法. 这三个方法的参数都是一个URL形式的字符串,但在使用相对路径或绝对路径上有所区别. ★ HttpServletResponse

Servlet中的请求转发和重定向

跳转和重定向 有的时候客户端请求到达服务端后需要对请求重新转发到其它Servlet甚至别的服务器,这就需要跳转和重定向. 区别 一般来说,跳转是服务器内部跳转,例如将请求从一个Servlet转发给另外一个Servlet处理,是内部之间的转发.而重定向是告诉客户端去别的地方请求资源.举个例子,某人需要去找人事部门打印收入证明,而收入证明需要去财务部盖章.跳转的处理方式是:人事部门的人告诉你,你等一下,我去把收入证明打印出来,然后我再去找财务部盖章,所有资料准备好后,我再全部交给你.重定向的处理方式

Servlet技术-请求转发,重定向和包含的关系

Web组件之间的关系包含3种,请求转发,URL重定向和包含 1.请求转发 请求转发允许把请求转发给同一应用程序的其他web组件,这种技术通常用于Web应用控制层的Servlet流程控制器,可检查HTTP请求的数据,并将请求转发到合适的目标组件,目标组件执行具体的请求处理操作并生成响应结果. 实例: 如果当前的Servlet组件要把请求转发给一个jsp组件,如hello.jsp,可在Servlet中的service方法中执行一下代码: RequestDispatcher rd=request.ge