HttpServletResponse重定向功能

0、介绍

重定向是指客户端请求一个页面,服务器经过处理后返回给客户端,让客户端去请求另一个页面。

转发是指客户端请求一个页面,这个页面会请求另一个页面并将另一个页面的响应响应给客户端

区别:重定向发生了两次请求,直观的体现就是浏览器地址栏中的url地址发生了改变。而转发只产生一次请求,也就是地址栏中的地址不会发生改变。

1、实现代码

1.1 html页面代码模拟一个请求

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<body>
<h2>Hello World!</h2>
<form method="get" action="${pageContext.request.contextPath}/login">
    用户名:<input type="text" name="username">
    密  码:<input type="text" name="password">
    <input type="submit" value="submit">
</form>
</body>
</html>

1.2  这是对请求处理的servlet代码并在最后转发给了success.jsp页面

    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String username = req.getParameter("username");
        String password = req.getParameter("password");
        System.out.println(username + " : " + password);
        resp.sendRedirect("/r2/success.jsp");           //需要加上具体的项目部署名称。
    }

2、Tips

2.1 ${pageContext.request.contextPath}

pageContext是jsp的页面上下文对象,它可以访问page、request、session、application范围的变量。这个再获取request中的contextPath变量。contextPath变量也就是上下文的路径,可以理解为项目路径。相当于localhost:8080/项目部署名 后面就可以加你的页面了。

2.2 重定向路径一定要加上具体的项目部署名

posted @ 2020-08-28 10:17  LIFue  阅读(848)  评论(0)    收藏  举报