request对象域和转发
1.request是一个域对象,具备以下方法
setAttribute(string name,Object O)
getAttribute(String name)
removeAttribute( String name)
2.关于域对象的请求转发
servlet1,servlet2
// 1.servlet1将请求转发给servlet2
// 这是在服务器内部的请求(在web15内的请求不需要写为/WEB15/servlet2)
RequestDispatcher requestDispatcher = request.getRequestDispatcher("/servlet2");
// 2.执行转发的方法
requestDispatcher.forward(request, response);
3.域对象中的数据转发
servlet1
//向request域中存储数据
//request域的作用范围 在一次request和response请求中
request.setAttribute("name", "Tom"); servlet2
//在request域中提取数据
Object attribute = request.getAttribute("name");
response.getWriter().write("hello word......"+attribute);
4.注意事项
request域的作用范围:仅在一次request和response请求中有效
5.完整代码
servle1
package com.hdh.forward; import java.io.IOException; import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; public class Servlet1 extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//向request域中存储数据
//request域的作用范围 在一次request和response请求中
request.setAttribute("name", "Tom"); // 1.servlet1将请求转发给servlet2
// 这是在服务器内部的请求(在web15内的请求不需要写为/WEB15/servlet2)
RequestDispatcher requestDispatcher = request.getRequestDispatcher("/servlet2");
// 2.执行转发的方法
requestDispatcher.forward(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
} }
servlet2
package com.hdh.forward; import java.io.IOException; import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; public class Servlet1 extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//向request域中存储数据
//request域的作用范围 在一次request和response请求中
request.setAttribute("name", "Tom"); // 1.servlet1将请求转发给servlet2
// 这是在服务器内部的请求(在web15内的请求不需要写为/WEB15/servlet2)
RequestDispatcher requestDispatcher = request.getRequestDispatcher("/servlet2");
// 2.执行转发的方法
requestDispatcher.forward(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
} }
request对象域和转发的更多相关文章
- request对象实现请求转发
request对象实现请求转发,请求转发指一个web资源收到客户端请求后,通知服务器去调用另外一个web资源进行处理.request对象提供了一个getRequestDispatcher方法,该方法返 ...
- Request对象实现请求转发区别
servlet请求转发与重定向的区别: request.setAttribute("test","hello"); request.getRequestDisp ...
- Servlet中的request对象、重定向和转发的差别(6)
1.这里所说的request对象指的是HttpServletRequest对象,它代表client的请求,当client通过HTTP协议訪问server时.HTTP请求头中的全部信息都封装在这个对象中 ...
- request 对象和 response 对象
Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象 HttpServletResponse HttpServletR ...
- request对象常用API 获取请求参数的值 request应用 MVC设计模式
1 request对象常用API 1)表示web浏览器向web服务端的请求 2)url表示访问web应用的完整路径:http://localhost:8080/day06/Demo1 ...
- request对象
Servlet三大域对象的应用 request.session.application(ServletContext) 请求转发器: public void doGet(HttpServletRequ ...
- javaEE(4)_response、request对象
一.简介 Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象.request和response对象即然代表请求和响应 ...
- 重温Servlet学习笔记--request对象
request和response是一对搭档,一个负责请求一个负责响应,都是Servlet.service()方法的参数,response的知识点前面梳理过了,这里只说一下request,在客户端发出每 ...
- [原创]java WEB学习笔记47:Servlet 监听器简介, ServletContext(Application 对象), HttpSession (Session 对象), HttpServletRequest (request 对象) 监听器,利用listener理解 三个对象的生命周期
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
随机推荐
- 集合的addAll方法--list.addAll(null)会报错--java.lang.NullPointerException
Exception in thread "main" java.lang.NullPointerException at java.util.ArrayList.addAll(Ar ...
- Metasploit Penetration Testing
1.Metasploit整体框架: Shell中直接输入msfconsole启动PostgreSQL数据库服务 :service postgresql start 监听5432端口初始化Metaspl ...
- php生成N个不重复的随机数实例
思路: 将随机数存入数组,再在数组中去除重复的值,即可生成一定数量的不重复随机数. /* * array unique_rand( int $min, int $max, int $num ) * 生 ...
- Ionic——下一代 APP 开发框架
http://www.tuicool.com/articles/iY3ENvY 最近 Facebook React 团队释出了 React Native, 用来构建 Mobile Native 应用. ...
- static成员变量和static成员函数例程
#include "pch.h" #include <iostream> using namespace std; class goods { public: good ...
- QRCode简介(收藏)
一.什么是二维码:二维码 (2-dimensional bar code),是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的. 在许多种类的二维条码中,常 ...
- StringBuffer与StringBuilder的区别比较
关于AbstractStringBuilder 首先通过查看源码发现,StringBuffer与StringBuilder都继承自AbstractStringBuilder抽象类.而AbstractS ...
- 编译安装php-5.3.27报错:make: *** [sapi/fpm/php-fpm] 错误 1
安装PHP的时候make报错:make: *** [sapi/fpm/php-fpm] Error 1 原因:Centos6.8之后已经将iconv库加进来了,如果再安装libiconv库相当于重复一 ...
- 引入background和background-size不显示图片
.bgLeft { position: absolute; left: -95px; background: url("../images/logo_1.png") left to ...
- CSS中margin属性
css中margin块级元素的垂直相邻外边距会合并,比如 方框的上下外边距并不是2px,而是合并为1px了. 设置float属性就可以避免这种同级元素边距合并