14、Response重定向

#### 4、实现重定向

14、Response重定向

B一个web资源收到客户端A请求后,B他会通知A客户端去访问另外一个web资源C,这个过程叫重定向

常见场景:

- 用户登录

 

```java

void sendRedirect(String var1) throws IOException;

```

 

测试:

```java

@Override

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

    /*

        resp.setHeader("Location","/r/img");

        resp.setStatus(302);

         */

    resp.sendRedirect("/r/img");//重定向

}

```

14、Response重定向

 

web.xml

14、Response重定向

 

请求/red

14、Response重定向

会自动跳转到/img

14、Response重定向

 

注:

14、Response重定向

 

14、Response重定向

注end

 

面试题:请你聊聊重定向和转发的区别?

相同点

- 页面都会实现跳转

不同点

- 请求转发的时候,url不会产生变化

- 重定向时候,url地址栏会发生变化;

14、Response重定向

 

#### 5、简单实现登录重定向

先导个包

14、Response重定向

 

```jsp

<%--这里提交的路径,需要寻找到项目的路径--%>

<%--${pageContext.request.contextPath}代表当前的项目--%>

 

<form action="${pageContext.request.contextPath}/login" method="get">

    用户名:<input type="text" name="username"> <br>

    密码:<input type="password" name="password"> <br>

    <input type="submit">

</form>

```

14、Response重定向

 

注:

14、Response重定向

注end

 

```JAVA

    @Override

    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);

 

        //重定向时候一定要注意,路径问题,否则404;

        resp.sendRedirect("/r/success.jsp");

    }

```

14、Response重定向

 

```xml

  <servlet>

    <servlet-name>requset</servlet-name>

    <servlet-class>com.kuang.servlet.RequestTest</servlet-class>

  </servlet>

  <servlet-mapping>

    <servlet-name>requset</servlet-name>

    <url-pattern>/login</url-pattern>

  </servlet-mapping>

```

14、Response重定向

 

```jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<html>

<head>

    <title>Title</title>

</head>

<body>

 

<h1>Success</h1>

 

</body>

</html>

```

14、Response重定向

 

14、Response重定向

提交后就跳转到success

14、Response重定向