重定向和转发的区别
相同点
- 页面都会实现跳转
不同点
- 请求转发的时候,URL地址栏不会发生变化
- 重定向的时候,URL地址栏会发生变化
HttpServletRequest代表客户端的请求,用户通过Http协议访问服务器,HTTP请求中的所有信息会被封装到HttpServletRequest,通过这个HttpServletRequest的方法,获得客户端的所有信息
重定向:
public class RequestTest extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//处理请求
String username = req.getParameter("username");
String password = req.getParameter("password");
//重定向
resp.sendRedirect("/success.jsp");
//转发
//req.getRequestDispatcher("success.jsp").forward(req,resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doGet(req, resp);
}
web.xml
request com.kuang.servlet.RequestTest request /
index.jsp
<%--设置编码类型为utf-8,不然会乱码--%>
<%@ page contentType="text/html; charset=UTF-8" %>
登录
<%--这里提交的路径,需要寻找到项目的路径--%>
<%--${pageContext.request.contextPath}代表当前的项目--%>
success.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
Title
success
运行结果:
响应状态码
200:请求响应成功 200
3xx:请求重定向
4xx:找不到资源 404
5xx:服务器代码错误 500 网关错误 502



