JavaWeb之请求转发与响应重定向(原理及使用)

优质文章导读:
XML入门(零基础教程)
一文了解Java反射
Servlet入门(零基础教程)

请求转发与重定向的使用

  • 多个Servlet(JSP) 之间跳转有两种方式
  1. request.getRequestDispatcher().forward() —请求转发
  2. request.sendRedirect() —响应重定向

举个例子,这两个是干啥用的
比如,现在有一个页面,然后你点击了登录,然后弹出了一个登录对话框,然后输入用户名和密码之后,点击登录,这就像一个Servlet把用户名和密码的信息发送过去,然后在服务器查询有没有这个用户,如果用户名和密码都通过验证了,会重新跳回登录之前的页面,并且在右上角显示用户信息,那这个登录功能是咋实现的呢,其实分成了两个步骤,第一步是校验用户信息,第二步是重新显示首页并显示用户信息,对于这两个操作,如果我们把它放在一个Servlet中来写,比如前面一部分是用来登录校验的,后面一部分是用来显示页面的,这样做当然没有问题,但是,如果把它拆开,一个Servlet用来登录校验,一个Servlet用来显示首页,把它按照功能进行切分,这样是不是更好呢.
这个时候问题就来了,这两个Servlet如何进行跳转和交互呢,这就需要请求转发和响应重定向了

在配置好Tomcat的环境中,创建两个类CheckLoginServlet和IndexServlet

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

import java.io.IOException;
@WebServlet("/direct/check")
public class CheckLoginServlet extends HttpServlet {
   
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
   
        System.out.println("登录成功");
        //实现了请求转发
        req.getRequestDispatcher("/direct/index").
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

羽 毛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值