入门servlet:request请求转发和共享数据
request 请求转发:一种在服务器内部的资源跳转方式
步骤:
1.通过request对象获取请求转发器对象:RequestDispatcher getRequestDispatcher(String path)
2.使用RequestDispatcher对象来进行转发:forward(ServletRequest request, ServletResponse response)
特点:
1. 浏览器地址路径不发生改变
2. 只能转发到当前服务器内部资源中
3. 转发是一次请求
request 共享数据(域对象)
* 域对象:一个有作用范围的对象,可以在范围内共享数据
* request域:代表一次请求的范围,一般用于请求转发的多个资源中共享数据
* 方法:
1. void setAttribute(String name,Object obj):存储数据
2. Object getAttribute(String name):通过键获取值
3. void removeAttribute(String name):通过键移除键值对
servletA:
@WebServlet("/RequestDemo8")
public class RequestDemo8 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("demo8............");
//转发到demo9 // RequestDispatcher requestDispatcher = request.getRequestDispatcher("/RequestDemo9");
// requestDispatcher.forward(request,response); //存储数据到request域中
request.setAttribute("flypig","666"); request.getRequestDispatcher("/RequestDemo9").forward(request,response);
} protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//get获取请求参数 //根据参数名称获取参数值
// String username = request.getParameter("username");
// System.out.println("get");
// System.out.println(username); this.doPost(request,response);
}
}
servletB:
@WebServlet("/RequestDemo9")
public class RequestDemo9 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //获取数据,
Object attribute = request.getAttribute("flypig");
//转发资源时才能共享数据
System.out.println(attribute); System.out.println("demo9..........."); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//get获取请求参数 //根据参数名称获取参数值
// String username = request.getParameter("username");
// System.out.println("get");
// System.out.println(username); this.doPost(request,response);
}
}
入门servlet:request请求转发和共享数据的更多相关文章
- Servlet Request 请求转发
request.getRequestDispatcher("logined.jsp").forward(request, response); //登录用户在登录页面验证通过 ...
- javaWeb中request请求转发和response重定向
1.访问资源 运用forward方法只能重定向到同一个Web应用程序中的一个资源. 而sendRedirect方法可以让你重定向到任何URL. 2.request.get Forward代码中的&q ...
- request 请求转发
package request; import java.io.IOException;import javax.servlet.ServletException;import javax.servl ...
- JAVA记录-Servlet RequestDispatcher请求转发
RequestDispatcher接口提供将请求转发送到另一个资源的功能,它可能是html,servlet或jsp等. 此接口也可用于包括另一资源的内容.它是servlet协作的一种方式. 在Requ ...
- servlet中请求转发获取数据等,,,
String uname= req.getParameter("uname"); 获取请求的字符串 req.setAttribute("str"," ...
- servlet中请求转发(forword)与重定向(sendredirect)的区别
摘自:http://www.cnblogs.com/CodeGuy/archive/2012/02/13/2349970.html 通俗易懂 servlet请求转发与重定向的区别: request.s ...
- servlet中请求转发(forword)与重定向(sendredirect)
请求转发和重定向 request.setAttribute("test","hello"); request.getRequestDispacther(&quo ...
- servlet中请求转发(forword)和重定向(redirect)的区别
servlet请求转发与重定向的区别: request.setAttribute("test","hello"); request.getRequestDisp ...
- Servlet(10)—请求转发和请求重定向
请求转发与请求重定向 ①区别: 本质区别:请求转发只发出一次请求,请求重定向则发出两次请求. 请求转发:地址栏是初次发出请求的地址在最终的Servlet中,request对象和中转的那个request ...
随机推荐
- JDK9新特性实战:简化流关闭新姿势。
做Java开发的都知道,每个资源的打开都需要对应的关闭操作,不然就会使资源一直占用而造成资源浪费,从而降低系统性能. 关于资源的关闭操作,从JDK7-JDK9有了不少的提升及简化. JDK6 在JDK ...
- 【默默努力】fishingGame
这个捕鱼游戏挺有意思的,通过发射子弹,打鱼.打鱼的子弹会消耗金币,但是打鱼如果打到了鱼,就会奖励金币的数量. 我如果写这个的话,应该会画一个 背景海底,然后生成很多鱼的图片,还要有一个大炮,金币.大炮 ...
- Error:Execution failed for task ':app:validateSigningDebug'.
今天出差回来 第一天 把项目重新移植到新的电脑上 一运行 给我报错了 ! 这个是签名的路径错误 我们需要重新导一下路径就可以了 点击左上角 File -> project structu ...
- IDEA将代码推送至远程GitHub仓库
1 在项目根路径下添加.gitignore文件 2 创建本地git仓库 3 git add操作 快捷键 ctrl+alt+a 4 git commit操作 快捷键ctrl+k 5 git push操作 ...
- 简单搭建 @vue-cli3.0 及常用sass使用
1,在安装了Node.js后使用其中自带的包管理工具npm.或者使用淘宝镜像cnpm(这里不做说明) 1-1,下载vue3.0脚手架(如果之前装vue-cli3x之前的版本,先卸载 npm unins ...
- barrel shifter, logarthmic shifter and funnel shifter
1,shifter小集合 (1) simple shift 左移或右移补0 (2) arthmetic shift 左移补0,右移补符号位 (3) barrel shifter 桶型,顾名思义,应该头 ...
- Joomla - 优化(时区、google字体、压缩图片、压缩自定义代码)
Joomla - 优化(时区.google字体.压缩图片.压缩自定义代码) 一.时区 发布文章是往往会发现发布时间和当前时间对不上,原因是 Joomla 用的是国际标准时间,和中国时区大约相差8小时, ...
- vue的无缝滚动插件vue-seamless-scroll的使用
https://chenxuan0000.github.io/component-document/index_prod.html#/component/seamless-others 在vue环境下 ...
- docker中使用源码方式搭建SRS流媒体服务
一.背景 搭建流媒体服务的方式一般会采用nginx+rtmp和srs服务两种,前者是nginx加上插件所用,而后者是专门为了为了流媒体而生,在这一节中我们将从头搭建srs流媒体服务 二. 运行环境 为 ...
- Laravel 指定日志生成目录
1.在config/logging.php 中, 创建自定义频道 2.使用时指定频道