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/项目部署名 后面就可以加你的页面了。

浙公网安备 33010602011771号