美文网首页
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

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