*重定向*

重定向

1.301重定向是什么?

从一个页面跳转到另一个页面/从一个网址跳转到另一个网址

2.301重定向的适用场景

1.更换域名时,通过301永久重定向将旧域名重定向至新域名,挽回流量的损失
2.多个闲置域名指向同一个网站
3.网址规范化

3.常见几种301跳转模式

1.不带www的顶级域名跳转到带有www的顶级域名
2.HTTP跳转到HTTPS
3.多域名跳转到同一个域名
4.特定页面到特定页面的跳转

4.301和302

301是永久重定向,302是临时重定向
302重定向是暂时的,搜索引擎会抓取新的内容而保留旧的地址,所以,服务器返回302,搜索引擎会认为新的地址是暂时的
301重定向是永久的,搜索引擎在抓取新的内容时,将旧的地址替换成重定向之后的地址

4.实现一个简单的302重定向

实现一个程序,返回一个重定向HTTP响应,自动跳转到另一个页面

import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

//重定向
@WebServlet("/Redirect")
public class RedirectServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
        //用户访问这个路径的时候,直接重定向到搜狗主页
        //setStatus:为响应设置状态码
//        resp.setStatus(302);
//        resp.setHeader("Location","https://www.sogou.com");
        //刚刚通过设置状态码和Location来完成302重定向跳转
        //现在这个sendRedirect也可以完成这个302重定向跳转
        resp.sendRedirect("https://www.sogou.com");
    }
}

结果截图
在这里插入图片描述

5.基于JS,实现一个3s跳转网页

import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

//重定向
@WebServlet("/Redirect1")
public class Redirect extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {

    }
}
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title>RedirectRefresh</title>
</head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<body>

    <button><span id="n">3</span>秒后自动跳转</button>
    <script>
        console.log(window.location);
        let number=3;
        <!--setInterval:会按照指定的周期来调用方法,必须带的两个参数:被调用的函数,时间间隔(毫秒级)-->
        let id=setInterval(jump,1000);
        <!--document.getElementById:返回指定的ID元素-->
        let n=document.getElementById("n");
        function jump(){
            number--;
            n.innerHTML=number;
            if(number==0){
                <!--clearInterval:可以取消setInterval设定的指定周期-->
                clearInterval(id);
                window.location.replace("https://www.sogou.com");
            }
        }
    </script>
</body>
</html>

访问地址:http://localhost:8080/Light_demo1/RedirectRefresh.html
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值