美文网首页
JavaWeb--Request&Response3

JavaWeb--Request&Response3

作者: 何以解君愁 | 来源:发表于2022-07-21 15:25 被阅读0次

重定向:一种资源跳转方式(浏览器向资源A发出请求,A处理不了(状态码302),将能处理的B的位置(响应头)响应给浏览器,从而浏览器自动向B发出请求的过程)
resp.setStatus(302); resp.setHeader("location","资源B路径");简化完成重定向:response.sendRedirect("资源B路径");
重定向的特点:浏览器地址栏发生改变;可以重定向到任意位置的资源(服务器内部、外部皆可);两次请求,不能在多个资源使用request共享数据
路径问题:浏览器使用需要加虚拟目录(项目访问目录)(重定向要把路径发给浏览器所以需要);服务端使用不需要加(转发是服务器内部跳转方式,所以不加)
动态获取虚拟目录:String contextPath = request.getContextPath();(降低耦合)
简化方式完成:response.sendRedirect(contextPath+"/resp2");

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import javax.xml.stream.Location;
import java.io.IOException;

@WebServlet("/resp1")
public class ServletResponse1 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //重定向
//        //设置响应状态码
//        response.setStatus(302);
//        //设置响应头
//        response.setHeader("Location","/resp2");
        //动态获取虚拟目录
        String contextPath = request.getContextPath();
        //简化方式完成
        response.sendRedirect(contextPath+"/resp2");
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doGet(request, response);
    }
}

相关文章

  • JavaWeb--Request&Response3

    重定向:一种资源跳转方式(浏览器向资源A发出请求,A处理不了(状态码302),将能处理的B的位置(响应头)响应给浏...

网友评论

      本文标题:JavaWeb--Request&Response3

      本文链接:https://www.haomeiwen.com/subject/bdbuirtx.html