1. 项目特点
一般是通过request.setAttribute()和request.getSession().setAttribute()将数据放在request作用域中,在服务器内部将请求转发给对应的jsp页面,使用el表达式获取作用域中的值,使用jstl标签处理页面逻辑,将页面返回给浏览器。
2. request.getRequestDispatcher("index.jsp").forward(request, response);
request是转发,相当于在服务器内部进行了页面的刷新赋值,并且是请求响应一次直接把结果给浏览器,浏览器地址栏不会发生变化,状态码是200。
response是重定向,response.sendRedirect("index");会返回状态码302,让浏览器重新发生index请求,浏览器地址栏会发生变化,总共请求了2次。
转发和重定向的区别:
重定向是两次请求,转发是一次请求。
重定向地址栏会变,转发不会。
转发是request,重定向是response。
重定向不会携带第一次请求时的参数。