`
茴香豆
  • 浏览: 131041 次
  • 性别: Icon_minigender_2
  • 来自: 桂林
社区版块
存档分类
最新评论

servlet的请求转发与重定向

阅读更多
servlet可以将发送给自己的某个请求转发给另外一个URL地址,这个地址可以是html、jsp、servlet或是其他的http地址。servlet的请求转发有三种方式:
1.inclue方法,应用代码为request.getRequestDispatcher("/url").include    (request, response),其中URL地址是某个http地址。include转发时,地址栏没有改变,是原来的地址,这个过程是在服务器端完成,Servlet和被包含的页面同时被输出。
2.forward方法,request.getRequestDispatcher("/url").forward(request, response),地址栏也不会改变,同样是在服务器端完成,但仅输出被转发的URL中的内容
3.sendRedirect,只是客户重新发起一个请求,第二个请求指向其参数url。一般称做重定向,客户端的地址栏将改变为url值,是由客户端发起的第二次请求。参数中要写明具体的url地址,因为当客户端再次发送请求时,会直接请求web服务器根目录。要是要转发的一个html地址,它在WEB-INF文件夹下,那么要从servlet转发到这个
html地址,必须加上当前的web路劲名,这个路劲名可以通过request.getContextPath()获得,那么该转发代码可以为response.sendRedirect(request.getContextPath()+"/login.html");


注意:重定向是浏览器向服务器重新发出请求,但转发相当于把request的范围扩大,例如:
在a界面有个连接<a href="b.jsp?id=1">,在b界面可以通过request.getAttribute("id")获得,
在b界面也有个连接<a href="c.jsp?name="123">,则在界面用request.getAttribute("id")就取不到值。这是每个连接就像一个重定向,相当于重新创建了一个request,当b->c时,a->b的request已经结束了。
接下来,在c的界面前加<jsp:forward page="d.jsp"/> ,那么变量name在c、d都有效,所以在d想取到参数name的值,不必要把参数值放到session里来扩大他的范围。
分享到:
评论

相关推荐

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

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

    javaServlet请求转发和重定向.pdf

    javaServlet请求转发和重定向.pdf

    java servlet请求转发重定向

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

    Servlet转发与重定向

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

    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用到了...

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

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

    JSP和Servlet面试题

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

    JavaWeb动力节点

    详细Javaweb笔记,源码解析 纯粹Servlet实现增删查改 请求转发和重定向 session和cookie JSP指令、EL表达式、JSTL标签库 过滤器、监听器

    JSP网上书店完整源代码

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

    jsp servlet

    //获得资源定位 然后将请求转发出去----首先将资源定位到list 然后将当前的request和response转发出去--转发 request.getRequestDispatcher("list").forward(request,response); //参数传递 J2EE1.4以下就是将引用...

    JSP系统的整理.docx

    包含jsp基础,入门、高级;只有文档具体说明,不是例子。各种基础用法,请求转发,重定向,sessions and cookies,javabean and MVA servlet

    深入浅出Java 重定向和请求转发的区别

    &lt;span xss=removed&gt;import java.text.*; import java.util... import javax.servlet.*; import com.bjpowernode.exam.model.*; import com.bjpowernode.exam.manager.*; public class SearchS

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

    3. 转发是服务器内部进行的操作,服务器直接将请求转发给另一个资源进行处理,并将其生成的响应返回给浏览器,浏览器不知道此过程,因此URL路径不会改变。 4. 使用重定向时,可以使用`response.sendRedirect()`方法...

    Java Web中的页面跳转.pdf

    在java Web编程中间经常出现需要从一个页面跳转到另外一个页面,如何选择跳转方式一直是java Web编程...本文总结了JSP/Servlet、Struts2和Spring中的页面跳转方法,详细分析对比了请求转发和重定向、RequestDispatc...

    Servlet与JSP核心编程第2版

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

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

    1. 用户名和密码正确,将用户成功的信息保存在请求域中,转发到另一个页面,显示用户登录成功 2. 用户名和密码错误,重定向到另一个html页面,显示登录失败。 3. 使用表示层,业务层,数据访问层的三层结构...

    用户登录Demo(JSP+Servlet)

    &lt;&gt; 失败:保存错误信息到request域,转发到login.jsp(login.jsp显示request域中的错误信息) &lt;&gt; 成功:保存用户信息到session域中,重定向到main.jsp页面,显示session域中的用户信息 &gt; main.jsp:从session域获取...

    conversor-monetario

    货币转换器-第一次实用Web评估4 申请进行货币兑换线框: Quant-UX( )检查清单: 转发和重定向 在MVC模型之外使用转发(即,一个servlet将请求转发到另一个servlet)。 技巧是将复杂的处理分为两个步骤,即两个...

Global site tag (gtag.js) - Google Analytics