JAVA语言之请求转发和请求包含和重定向之间的区别[Java代码]
龚超 2018-07-19 来源 : 阅读 1800 评论 0

摘要:本文主要向大家介绍了JAVA语言的请求转发和请求包含和重定向之间的区别,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。

本文主要向大家介绍了JAVA语言的请求转发和请求包含和重定向之间的区别,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。

1 package com.sn.servlet.forward;

2

3 import java.io.IOException;

4 import javax.servlet.ServletException;

5 import javax.servlet.annotation.WebServlet;

6 import javax.servlet.http.HttpServlet;

7 import javax.servlet.http.HttpServletRequest;

8 import javax.servlet.http.HttpServletResponse;

9

10 /**

11 * Servlet implementation class OneServlet

12 */

13 @WebServlet("/OneServlet")

14 /**

15 * 请求转发和请求包含和重定向之间的区别

16 * @author Administrator

17 *

18 */

19 public class OneServlet extends HttpServlet {

20 /**

21 * 1.response:服务器端向客户端发送数据,主要设置一些响应。

22 * 2.request:访问任何客户端,可以用post方法传递参数和get方法发出请求。

23 * 3.get和post在表单中既可以是get请求,也可以是post请求。

24 * 注意:请求转发和请求包含都是一个请求。

25 * 4.请求转发:留头不留体

26 * 5.请求包含:留头又留体

27 *

28 * 6.servlet中的三大域对象分别是:

29 * 1)、Request

30 * 2)、Session

31 * 3)、application

32 * 共同点:都有这三个方法:

33 * void setAttribute(String name,Object value);储存一个对象

34 * Object getAttribute(String name);获取数据

35 * void removeAttribute(String name);移除属性

36 * 注意:如果一个servlet中存储了一个对象,然后重定向后,然后在获取数据,是不可以获取到的,因为已经被重定向了,他会在新的servlet创建一个新的request。

37 * 如果在一个servlet中存储了一个对象,请求转发和请求包含都可以使用getAttribute获取数据,因为是只有一个请求。

38 * 三个域对象都可以存放数据。

39 * 注意:request可以存放数据,但是只会在一个请求范围内。

40 * 7.请求转发和重定向之间的区别:

41 * >请求转发是一个请求一个响应,重定向是两次请求两次响应

42 * >请求转发浏览器地址栏不会发生变,重定向的浏览器地址栏会发生变化

43 * >请求转发只能转发到本项目的其他serlvet中,重定向不但可以重定向到本项目的其他servlet中还可以重定向到其他项目

44 * >请求转发是服务端行为,只要给出转发的servlet路径,重定向需要给requestURI和项目名

45 * >请求转发效率能搞,因为只有一次请求

46 * 总结:通过学习了请求转发,掌握了以上知识点,这些以后会经常用到。一定要弄清楚服务器端和客户端。

47 *

48 */

49 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

50 System.out.println("OneServlet"); //打印在控制台

51 response.setHeader("vip", "VIP"); //设置响应头

52 response.getWriter().print("OneServlet......"); //设置响应体,主要是向浏览器输出

53 request.setAttribute("name", "wangcai"); //setAttribute:设置属性及属性值,属性:name,属性值:wangcai

54 //request.getRequestDispatcher("/TwoServlet").forward(request, response); //请求转发。forward:转发

55 request.getRequestDispatcher("/TwoServlet").include(request, response); //请求包含。include:包含

56 }

57

58 }

复制代码

1 package com.sn.servlet.forward;

2

3 import java.io.IOException;

4 import javax.servlet.ServletException;

5 import javax.servlet.annotation.WebServlet;

6 import javax.servlet.http.HttpServlet;

7 import javax.servlet.http.HttpServletRequest;

8 import javax.servlet.http.HttpServletResponse;

9

10 /**

11 * Servlet implementation class TwoServlet

12 */

13 @WebServlet("/TwoServlet")

14 public class TwoServlet extends HttpServlet {

15 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

16 System.out.println("TwoServlet"); //打印在控制台

17 String s = (String) request.getAttribute("name"); //通过属性名获取属性值,因为是obj,所以需要强转

18 response.getWriter().print(s); //设置响应体,向浏览器输出

19 }

20

21 }
请求转发:留头不留体

复制代码

希望对JAVA有兴趣的朋友有所帮助。了解更多内容,请关注职坐标编程语言JAVA频道!

本文由 @职坐标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 1
看完这篇文章有何感觉?已经有1人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论
本文作者 联系TA

擅长针对企业软件开发的产品设计及开发的细节与流程设计课程内容。座右铭:大道至简!

  • 370
    文章
  • 22656
    人气
  • 87%
    受欢迎度

已有23人表明态度,87%喜欢该老师!

进入TA的空间
求职秘籍 直通车
  • 索取资料 索取资料 索取资料
  • 答疑解惑 答疑解惑 答疑解惑
  • 技术交流 技术交流 技术交流
  • 职业测评 职业测评 职业测评
  • 面试技巧 面试技巧 面试技巧
  • 高薪秘笈 高薪秘笈 高薪秘笈
TA的其他文章 更多>>
WEB前端必须会的基本知识题目
经验技巧 93% 的用户喜欢
Java语言中四种遍历List的方法总结(推荐)
经验技巧 91% 的用户喜欢
Java语言之SHA-256加密的两种实现方法详解
经验技巧 75% 的用户喜欢
java语言实现把两个有序数组合并到一个数组的实例
经验技巧 75% 的用户喜欢
通过Java语言代码来创建view的方法
经验技巧 80% 的用户喜欢
其他海同师资 更多>>
吕益平
吕益平 联系TA
熟悉企业软件开发的产品设计及开发
孔庆琦
孔庆琦 联系TA
对MVC模式和三层架构有深入的研究
周鸣君
周鸣君 联系TA
擅长Hadoop/Spark大数据技术
范佺菁
范佺菁 联系TA
擅长Java语言,只有合理的安排和管理时间你才能做得更多,行得更远!
金延鑫
金延鑫 联系TA
擅长与学生或家长及时有效沟通
经验技巧30天热搜词 更多>>

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程