请求转发并且把数据写在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.servlet.http.HttpServletResponse;

import com.sun.net.httpserver.Authenticator.Success;
//请求转发
/**
* Servlet implementation class LoginServlet
*/
@WebServlet("/LoginServlet.do")
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
* @see HttpServlet#HttpServlet()
*/
public LoginServlet() {
super();
// TODO Auto-generated constructor stub
}

/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doPost(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("UTF-8");

// 获取请求过来的数据
String username=request.getParameter("userName");
String password=request.getParameter("passWord");
// 对应第二种 通过request 对象 存储获取的数据在转发 设置name=值
request.setAttribute("name", username);
request.setAttribute("paw", password);

if (username!=null&&username.equals("lovo")&&password!=null&&password.equals("123456")) {
// 获取请求转发器
RequestDispatcher requestDispatcher =request.getRequestDispatcher("/DongtaiLogin.do");

requestDispatcher.forward(request, response);

}else{
request.getRequestDispatcher("/shibai.html").forward(request, response);;
}
}

}

//接收在显示出来   这个连着上面的那个使用

import java.io.IOException;
import java.io.PrintWriter;

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

import org.apache.jasper.tagplugins.jstl.core.Out;
//动态的转发得到用户名响应
/**
* Servlet implementation class DongtaiLogin
*/
@WebServlet("/DongtaiLogin.do")
public class DongtaiLogin extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
* @see HttpServlet#HttpServlet()
*/
public DongtaiLogin() {
super();
// TODO Auto-generated constructor stub
}

/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doPost(request, response);
}

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
// 获取请求数据 request.getParameter("userName")括号里写的是表单定义的name名
// String username=request.getParameter("userName");
// String password=request.getParameter("passWord");
// 第二种
String username =(String)request.getAttribute("name");
String password =(String)request.getAttribute("paw");

response.setCharacterEncoding("UTF-8");
response.setContentType("text/html");
PrintWriter out=response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>返回内容</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>"+username+"</h1>");
out.println("<h1>"+password+"</h1>");
out.println("/<body>");
out.println("/<html>");
out.close();

}

}

时间: 2024-10-14 18:24:49

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

JSP的学习二(请求转发与 重定向)

一: 1.介绍知识点 1). 本质区别: 请求的转发只发出了一次请求, 而重定向则发出了两次请求. 具体: ①. 请求的转发: 地址栏是初次发出请求的地址.  请求的重定向: 地址栏不再是初次发出的请求地址. 地址栏为最后响应的那个地址 ②. 请求转发: 在最终的 Servlet 中, request 对象和中转的那个 request 是同一个对象.      请求的重定向: 在最终的 Servlet 中, request 对象和中转的那个 request 不是同一个对象. ③. 请求的转发:

Servlet请求转发RequestDispatcher接口

在Servlet中,利用RequestDispatcher对象,可以将请求转发给另外一个Servlet或JSP页面,甚至是HTML页面,来处理对请求的响应. 一,RequestDispatcher接口方法简介 1,RequestDispatcher对象由Servlet容器来创建,封装一个由路径所标识的服务器资源. 2,RequestDispatcher接口中定义了二种方法用于请求转发: forward(ServletRequest,ServletResponse)方法: 将请求转发给服务器上另外

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 请求转发

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

黑马day04 request&amp;请求转发

到此为止:已经学习了两个域对象: servletContext:web应用 request:仅仅用于同一个请求 作用范围:整个请求链上 生命周期:当服务器收到一个请求,创建出代表请求的request对象,request开始.当请求结束,服务器销毁代表请求的request对象,request域结束. 作用:在整个请求链范围内共享数据,通常我们在Servlet中处理好的数据会存入request域后请求转发到jsp页面来进行展示 setAttribute getAttribute removeAttr

request对象实现请求转发

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

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