重定向

本文详细介绍了如何在Java Servlet中使用`sendRedirect`进行请求重定向,并对比了与转发的区别。通过实例代码展示了`doGet`和`doPost`方法的响应操作,以及一个简单的表单提交和hello页面的处理。重点讲解了3xx状态码的含义和重定向与转发在实际应用中的应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码实现

public class req extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.sendRedirect("/mavenIDEA_war/hello");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }
}

核心代码:resp.sendRedirect("/mavenIDEA_war/hello");

// hello页面java代码如下
public class hello extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        PrintWriter out = resp.getWriter();
        resp.setContentType("text/html");
        out.print("<h1>it is a test</h1>");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }
}

form表单如下

<html>
<body>
<h2>Hello World!</h2>
<form action="./req" method="get">
    username:
    <input type="text" name= "username">
    password:
    <input type="password" name = "password">
    <input type="submit">
</form>
</body>
</html>

效果在这里插入图片描述
在这里插入图片描述

和转发的区别

请求重定向一般返回状态码为3xx,web服务器将告诉客户端
需要前往的url,并且要求客户端自行去访问

而与重定向不同的是,转发是web将即将前往的url自行获得,然后得到页面,最后在自己的页面上显示转发的url网页

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值