请求转发 和 URL 重定向
五 请求转发 和 URL 重定向
1 请求转发和重定向 干什么用?
是我们在java后台servlet中 由一个servlet跳转到 另一个 servlet/jsp 要使用的技术
前端发送请求到后台 :
A 浏览器地址栏输入链接
B a标签 <a href="url地址">跳转</a>
C form表单 <form action="url地址" method="get/post">
<input type="submit" value="跳转">
</from>
get和post的区别(面试题)
URL:统一资源定位符 (网址)
http://www.baidu.com
http://127.0.0.1:8080/day02/stu
协议://ip地址:端口号/工程名/资源路径 ?key1=value1&key2=value2 get请求的URL
协议: http:// ftp file jdbc:mysql://
ip地址: 0-255.0-255.0-255.0-255 定位电脑主机
端口号:8080 8090 通过端口号定位某台主机下的某个应用
工程名:/day02
资源路径:/stu
如果 通过URL传递参数(地址栏传参 )那么 需要在 路径的后面 通过?分割 ?号前面的是链接路径后面是传递的参数
参数的格式 : key=value
多个参数用 & 符隔开: key1=value1&key2=value2
D 通过js的BOM操作 : window.location.href = "http://www.baidu.com";
E AJAX 异步请求
servlet----》servlet/jsp
1 如何使用
请求转发
req.getRequestDispatcher(servlet或者jsp的请求路径).forward(req,resp);
URL重定向
resp.sendRedirect("/day02_01/views/student.jsp");
发现一个问题: 我们的代码 使用请求转发 跳转到jsp之后 是有数据的 但是重定向之后 没有数据
2 请求转发和重定向的原理
3 请求转发和重定向的区别
3.1 请求转发是一次请求 重定向是两次请求 (通过地址栏可以查看)
3.2 请求转发地址栏不会发生改变 重定向地址栏会发生改变
3.3 请求转发可以共享请求参数 重定向之后 就获取不了共享参数了
3.4 请求转发不能跨域(不能访问其他服务器链接) req.getRequestDispatcher("http://www.baidu.com").forward(req,resp);是不行的
重定向可以 resp.sendRedirect("http://www.baidu.com"); 这是可以的
3.5 请求转发能转到WEB-INF目录下的文件req.getRequestDispatcher("/WEB-INF/views/student.jsp").forward(req,resp);
而重定向不能 resp.sendRedirect("/day02_01/WEB-INF/views/student.jsp");
(WEB-INF目录:不能被外部通过地址直接访问)
4 为什么 请求转发不写工程名路径 而重定向一直都写工程名路径
5 什么时候时候请求转发 什么时候使用URL的重定向
如果需要共享参数 :请求转发
如果需要地址栏改变:重定向
如果需要跳转WEB-INF:请求转发
如果跳转外部链接:重定向
如果没如果 随便用


请求转发 和 URL 重定向的更多相关文章
- JSTL、请求转发和URL重定向
JSTL 为什么要使用JSTL? 因为在JSP中写JAVA代码很麻烦,而JSTL可以简化在JSp中写JAva代码的流程 如何使用JSTL? 准备工作: ①将JSTL依赖的jar包导入工程的WEB-IN ...
- 请求转发和URL重定向的原理和区别
一.请求转发和重定向是在java后台servlet中,由一个servlet跳转到另一个servlet/jsp要使用的技术 使用方法 请求转发 req.getResquestDispatcher(se ...
- javaWeb中request请求转发和response重定向
1.访问资源 运用forward方法只能重定向到同一个Web应用程序中的一个资源. 而sendRedirect方法可以让你重定向到任何URL. 2.request.get Forward代码中的&q ...
- java请求转发,响应重定向的区别
请求转发:request.getRequestDispatcher().forward(); 例:request.getRequestDispatcher("/index.jsp" ...
- 请求转发(forward)和重定向(redirect)的区别
转发不会改变地址栏,重定向会. 转发是请求一次,重定向请求两次. 转发过程中只有一个request对象产生,重定向是两个. 转发不能转发到站外,重定向可以发送到站外. 重定向的第2个请求的请求方式是什 ...
- Forword(请求转发)与Redirect(重定向) 区别
1.从数据共享上 Forword是一个请求的延续,可以共享request的数据 Redirect开启一个新的请求,不可以共享request的数据 2.从地址栏 Forword转发地址栏不发生变化 Re ...
- 04_web基础(六)之请求转发与重定向
1.交互方式 Web组件之间跳转: 从AServlet 跳转到 BServlet. 三种类型: 1:请求转发(forward) 2:URL重定向(redirect) 3:请求包含(include) 3 ...
- 请求转发、包含、重定向 getAttribute 和 setAttribute POST和GET编码
一.请求转发 请求包含 请求重定向 Demo5.java 注意:doPost()方法中别忘写doGet(request, response); public void doGet(HttpS ...
- 20160326 javaweb 请求转发和请求包含
(1)请求转发: this.getServletContext().getRequestDispatcher("").forward(request,response); requ ...
随机推荐
- webpack 单独打包指定JS文件(CopyWebpackPlugin)
背景: 不确定打出的前端包所访问的后端IP,需要对项目中IP配置文件单独拿出来,方便运维部署的时候对IP做修改.因此,需要用webpack单独打包指定文件.npm install --save-dev ...
- Numpy库的学习(三)
今天我们继续学习一下Numpy库的学习 废话不多说 ,开始讲 比如我们现在想创建一个0-14这样一个15位的数组 可以直接写,但是很麻烦,Numpy中就给我们了一个方便创建的方法 numpy中有一个a ...
- ubuntu18.04 ssh 远程系统拒绝连接 解决方法
错误提示是这个: The remote system refused the connection. 原因是 Ubuntu 没安装 一个软件, 废话不多说 ,上解决方法: 执行该条命令,安装 ,安装 ...
- websocket简单实现在线聊天
WebSocket简介与消息推送 B/S架构的系统多使用HTTP协议,HTTP协议的特点: 1 无状态协议2 用于通过 Internet 发送请求消息和响应消息3 使用端口接收和发送消息,默认为80端 ...
- vmware 14 新安装centos7 没法联网
vmware14 刚安装好centos7后,想下载安装一些软件发现无法联网,于是就百度了一下.下面 记录下解决方法. 1 确报主机能上网. 2 设置虚拟机网络适配器 3 设置虚拟机网卡 4 修改cen ...
- linux下的别名机制
相当于用户自己创建一个属于自己的命令.在当前用户的家目录下有一个.bashrc文件,编辑该文件: eg:alias cls='clear' 如果命令要生效需要重新登录.用户输入cls就可以达到清屏的目 ...
- java网络爬虫基础学习(三)
尝试直接请求URL获取资源 豆瓣电影 https://movie.douban.com/explore#!type=movie&tag=%E7%83%AD%E9%97%A8&sort= ...
- windows下mysql 5.7以上版本安装及遇到的问题
(原) 早些前用window安装mysql挺简单的,一个安装程序,一路下一步. 2006的5.0版本,确实太早了点. 于是官网上又下了一个版本,windows也是提供了二个版本Installer(安装 ...
- Deep Reinforcement Learning for Dialogue Generation 论文阅读
本文来自李纪为博士的论文 Deep Reinforcement Learning for Dialogue Generation. 1,概述 当前在闲聊机器人中的主要技术框架都是seq2seq模型.但 ...
- 【题解】UVA11362 Phone List
Tags : 排序,字典树 从短到长排序,逐个插入字典树.若与已有的重复,返回错误信息. #include <iostream> #include <stdio.h> ...