`
沐疯-
  • 浏览: 12223 次
  • 性别: Icon_minigender_1
  • 来自: 山东
社区版块
存档分类
最新评论

servlet的转发与重定向

阅读更多

 转发和重定向都能让浏览器获得另外一个URL所指向的资源,但两者的内部运行机制有着很大的区别。

1、转发:有两种方式获得转发对象(RequestDispatcher):一种是通过HttpServletRequest的getRequestDispatcher()方法获得,一种是通过ServletContext的getRequestDispatcher()方法获得;

     以前的request范围中存放的变量不会失效,就像把两个页面拼到了一起。 例如:

request.getRequestDispatcher (“demo.jsp"). forward(request, response);//转发到demo.jsp

     详解:假设浏览器访问servlet1,而servlet1想让servlet2为客户端服务。此时servlet1调用forward()方法,将请求转发给servlet2。但是调用forward()方法,对于浏览器来说是透明的,浏览器并不知道为其服务的Servlet已经换成Servlet2,它只知道发出了一个请求,获得了一个响应。浏览器URL的地址栏不变。

2、重定向:HttpServletResponse的sendRedirect()方法。

     服务器根据此请求寻找资源并发送给客户,它可以重定向到任意URL,不能共享request范围内的数据。例如:response.sendRedirect(“demo.jsp");//重定向到demo.jsp

     详解:假设浏览器访问servlet1,而servlet1想让servlet2为客户端服务。此时servlet1调用sendRedirect()方法,将客户端的请求重新定向到Servlet2。接着浏览器访问servlet2,servlet2对客户端请求作出反应。浏览器URL的地址栏改变。

3、主要区别:

(1)sendRedirect()方法不但可以在位于同一个主机上的不同Web应用程序之间进行重定向,而且可以将客户端重定向到其他服务器上的Web应用程序资源。而forward()方法只能将请求转发给同一Web应用的组件。

(2)sendRedirect()方法

(3)转发:浏览器URL的地址栏不变。

     重定向:浏览器URL的地址栏改变

分享到:
评论

相关推荐

    Servlet转发与重定向

    通过网上总结的Servlet的转发与重定向的区别介绍。希望可以帮的上大家

    servlet请求转发、重定向、包含

    servlet请求转发、请求重定向、请求包含 获取form数据

    java servlet请求转发重定向

    java servlet请求转发重定向 适合于初学者更好的了解页面跳转和原理

    USerLogin servlet 登录实例探究转发与重定向本质区别

    USerLogin servlet 登录实例探究转发与重定向本质区别

    javaServlet请求转发和重定向.pdf

    javaServlet请求转发和重定向.pdf

    JavaWeb中的 请求转发 和 重定向.docx

    请求转发:在最终的 servlet (TestServlet) 中,request和中转的那个servlet(ForwardServlet)中的request对象是同一个对象 重定向:在最终的 servlet (TestServlet) 中,request和中转的那个servlet(SendServlet...

    Servlet+jsp.docx

    创建web工程还有代码是试练,请求方式+重定向+请求转发+cookie+session+jsp(四大作用域九大内置对象)

    JSP转发和重定向的区别分析

    1.RequestDispatcher.forward()――转发 是在服务器端起作用,当使用forward()时, Servlet engine传递HTTP请求从当前的Servlet or JSP到另外一个Servlet,JSP 或普通HTML文件,也即你的 form提交至a.jsp,在a.jsp用到了...

    servlet+jsp练手小项目

    servlet+jsp练手小项目,适合初学者进行项目的练手,可以帮助我们熟悉servlet+jsp的项目流程,掌握转发,重定向,路径等问题,有助于后面框架的学习,而且项目并不复杂,主要是锻炼大家的思路,让我们可以熟悉servlet...

    XML Oracle Servlet 复习汇总(S2)

    7 Servlet:转发和重定向 8分 8 Servlet:连接池 5分 9 Servlet:servlet(代码题目) 6分 10 Servlet:jspuserbean 5分 11 Servlet:servlet(代码题目) 10分 12 Servlet:jstl标签(代码题目) 8分 13 Servlet:...

    JSP和Servlet面试题

    重定向时服务器产生两次请求,转发产生一次请求,重定向时可以转发到项目以外的任何网址,转发只能在当前项目里转发 重定向会导致request对象信息丢失。转发则不会 转发的url不会变,request.getRequestDispatch()...

    Oracle dept表增删改查(Servlet 网页版)

    Oracle dept表增删改查(Servlet 网页版),请求转发,重定向

    jsp servlet

    //转发和重定向是都是一瞬间就跳转到了要转发的页面 中间的内容基本没有时间显示 解决这个问题的方法如下: 包含转发 request.getRequestDispatcher("login.html").include(request.response); //就是将该页面所包含...

    Servlet与JSP核心编程第2版

    6.3 将用户重定向到浏览器相关页面的servlet 6.4 各种搜索引擎的一个前端 第7章 服务器响应的生成:htip响应报头 7.1 在servlet中设置响应报头 7.2 理解http1.1响应报头 7.3 构建excel电子表格 7.4 ...

    HTML+Servlet实现了登录操作数据库

    #### HTML+Servlet登录案例 需求: 1. 用户名和密码正确,将用户成功的信息保存在请求域中,转发到另一个页面,显示用户登录成功 2. 用户名和密码错误,重定向到另一个html页面,显示登录失败。 3. 使用...

    javaweb作业-Ajax、javabean、jsp、serviet、数据库编程

    页面间跳转可以通过链接、重定向、转发,重定向用什么语句?转发用什么标签或语句?重定向和转发有什么区别? EL的语法形式?引入它的主要作用?它访问的是Java脚本数据还是属性数据? 使用JSTL的步骤?分支标签和...

    C-ATM.zip jsp+servlet 项目【练手/总结/巩固】

    1. 在JavaWeb中,页面跳转有两种方式:重定向和转发。 2. 重定向是通过发送特定的HTTP响应码告知浏览器请求的资源已被移到新的URL上,浏览器接收到响应后会重新发送请求到新的URL地址,因此URL路径会改变。 3. 转发...

    SecondEngineer

    项目名称:简单的职工管理系统 1.登录界面 ... ...3.普通用户登录-----权限:查看职工信息 职工信息:工号(Id)、姓名、性别、出生年月、居住地、所在职位 ...4.修改某个教职工信息,跳转到职工信息界面(转发与重定向)

    JavaWeb之Servlet精讲实战课程

    本课程是javaee和大数据开发的基础课程,讲述了Servlet中Servlet创建过程,Request请求以及Response中各种响应头的介绍,以及乱码的各种处理方式,以及刷新重定向转发等。对servlet中的session和cookie做了着重讲解,...

    JSP网上书店完整源代码

    用户在客户端请求jsp页面,jsp页面将结果提交到Servlet,由Servlet负责处理结果,访问数据库等操作,并将参数结果放在request,session,application等元素中,然后通过请求转发和重定向转发到其他jsp页面或者Servlet

Global site tag (gtag.js) - Google Analytics