黑马day04 request&请求转发

到此为止:已经学习了两个域对象:

servletContext:web应用

request:仅仅用于同一个请求

作用范围:整个请求链上

生命周期:当服务器收到一个请求,创建出代表请求的request对象,request开始.当请求结束,服务器销毁代表请求的request对象,request域结束.

作用:在整个请求链范围内共享数据,通常我们在Servlet中处理好的数据会存入request域后请求转发到jsp页面来进行展示

setAttribute

getAttribute

removeAttribute

1.下面的例子既使用了域对象也使用了请求转发Demo1(在request中放了一个对象)转发到Demo2

package cn.itheima.request;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
 * 请求转发
 * @author Administrator
 *
 */
public class Demo1 extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		response.setContentType("text/html;charset=utf-8");
		request.setAttribute("description", "李卫康--哈哈好自恋");
		request.getRequestDispatcher("/servlet/Demo2").forward(request, response);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doGet(request, response);
	}

}

2.在Demo2中取出request域中的值并输出打印到浏览器中...

package cn.itheima.request;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Demo2 extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		String str = (String) request.getAttribute("description");
		response.getWriter().write(str);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doGet(request, response);
	}

}

时间: 2024-11-05 19:41:35

黑马day04 request&请求转发的相关文章

request 请求转发

package request; import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse; //request请求转发,以及使用request域对象吧数据带给转发资源p

javaWeb中request请求转发和response重定向

1.访问资源 运用forward方法只能重定向到同一个Web应用程序中的一个资源. 而sendRedirect方法可以让你重定向到任何URL. 2.request.get Forward代码中的"/uu"则代表相对与WEB应用的路径. 举例: Servlet 和 目标文件的包路径: Servlet  代码:中 doPost 和doGet代码: request 重定向url地址 或者是是相对于 本项目 (WEB13)  http:localhost:8080/WEB13+url     

request请求转发和request域运用

1.请求转发 1.概述:让服务器跳转到另一个资源上 2.方法     1.request.getRequestDispatcher("跳转资源路径").forward(request, response); 2.域对象 1.作用:实现servlet与servlet之间的数据传输功能 2.例如:Request本质上就是一个域对象, 域对象就是一个容器. 3.域对象的方法 1.request.setAttribute(key,value);往request对象中存数据 2.requet.g

黑马day04 request获取客户机的信息

使用request可以获取请求中过程中的信息: package cn.itheima.request; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;

请求转发并且把数据写在request传过去接收在显示出来

import java.io.IOException; import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servle

javaweb中重定向和请求转发(response.sendRedirect()和request.getRequestDispatcher(rul).forward(request,response)))的区别

先来两张图,方便理解: 可以看出,重定向时,是服务器向游览器重新发送了一个response命令,让游览器再次向url2发送请求,以获取url2的资源 而请求转发时,类似于是服务器自己向自己发了一个跳转,然后将结果直接给游览器,这也是问什么游览器会不改变url地址.下面是具体总结他们的区别 一.response.sendRedirect(url)-服务器将新url发送给游览器,游览器再根据新url请求 Request.getRequestDispatcher(url).forward(reques

request实现请求转发

ServletContext可以实现请求转发,request也可以. 在forward之前输入到response缓冲区中的数据,如果已经被发送到了客户端,forward将失败,抛出异常 在forward之前输入到response缓冲区中的数据,但是还没有发送到客户端,forward可以执行,但是缓冲区将被清空 ,之前的数据丢失.注意丢失的只是请求体中的内容,头内容仍然有效. 在一个Servlet中进行多次forward也是不行的,因为第一次forward结束,response已经被提交了,没有机

HttpServletRequest、request常用方法、request常见应用、请求转发、RequestDispatcher

HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,开发人员通过这个对象的方法,可以获得客户这些信息. request常用方法 获得客户机信息 getRequestURL方法返回客户端发出请求时的完整URL. getRequestURI方法返回请求行中的资源名部分. getQueryString 方法返回请求行中的参数部分. getRemoteAddr方法返回发出请求的客户机的IP地址 getRemoteH

request对象实现请求转发

request对象实现请求转发,请求转发指一个web资源收到客户端请求后,通知服务器去调用另外一个web资源进行处理.request对象提供了一个getRequestDispatcher方法,该方法返回一个RequestDispatcher对象,调用这个对象的forward方法可以实现请求转发 请求转发的应用场景:MVC设计模式. 在MVC设计模式中,Servlet接受数据并进行相应的处理后,通过请求转发让JSP取出数据做显示.这就设计到如何把数据从Servlet带到JSP页面的问题.虽然通过s