@Java && 转发 与 重定向的区别与特点

本文探讨了Java Servlet中重定向和转发的区别。重定向是两次请求,地址栏变化,能访问其他站点但无法共享请求数据;转发则是一次请求,地址栏不变,仅限于同一服务器资源,允许通过请求对象共享数据。此外,还提到了监听器的概念及其作用,如统计网站访问量和在线人数。
摘要由CSDN通过智能技术生成
  • 重定向是动态的可以请求其他站点的资源,且两次请求,请求域中的数据会丢失
  • 转发是静态的只能访问本站点的资源,且一次请求,保证数据完整性

1.重定向的特点:redirect

在这里插入图片描述

  1. 地址栏发生变化 (从你进去的地址 /resp2 --> 你要访问的地址/baidu.com)
  2. 重定向可以访问其他站点(服务器)的资源 (如上-->/baidu.com)
  3. 重定向是两次请求。(分别是进去时的请求/resp 和 重定向到的请求baidu)
  4. 不能使用 request 对象来共享数据 转发(因为是两次请求,两个request,所以不能使用request.set/getAttribute() 共享数据)(两次请求,两个状态,相当于两个对象,两个类)
    在这里插入图片描述

2.转发:forward

在这里插入图片描述

  1. 转发地址栏路径不变(从/resp2进入的/resp2 , 内容为/resp1的内容,地址仍为/resp)
  2. 转发只能访问当前服务器下的资源 (访问http://www.baidu.com,找不到404)
  3. 转发是一次请求,可以使用 request 对象来共享数据(同一个request
    在这里插入图片描述

3.代码演示

ResponseDemo1:

package com.example.response;

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 java.io.IOException;

/**
 *  响应response
 */
@WebServlet(
        urlPatterns = {
   "/ResponseDemo1","/resp1"}
)
public class ResponseDemo1 extends HttpServlet {
   
    @Override
    protected
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值