请求转发是服务器行为。客户端向服务器发送了一次HTTP请求,服务器请求资源,服务器直接访问目标地址的URL,把那个URL的相应内容读取过来,然后再把这些内容发给客户端浏览器。
注:客户端浏览器根本不知道服务器发送的内容从哪里来的,因为这个跳转过程是在服务器实现的,并不是客户端实现的,客户端并不知道这个跳转动作,因此它的地址栏还是原来的地址。并且,对于浏览器来说,它只发出了一个HTTP请求。
使用方法如下:
req.getRequestDispatcher("selectAllGoods").forward(req,resp);
getRequestDispatcher方法中的参数为请求转发页面的映射名
此时我们完成了页面请求转发与jdbc操作获取到了数据库的商品信息并传输到了后端,那我们如何将信息展示到前端呢,这次我们先将其中一个方法:
HttpSession session = request.getSession();
session.setAttribute("goodsList",goodsList);
setAttribute,将后端的数据存入session服务器,既然后端有传输了,那么前端必定要有接收
</tr>
<%
HttpSession session1 = request.getSession();
List<Goods> goodsList = (List<Goods>) session1.getAttribute("goodsList");
for (Goods goods : goodsList) {
%>
<tr>
<td><%=goods.getGid()%></td>
<td><%=goods.getGname()%></td>
<td><%=goods.getPrice()%></td>
<td><%=goods.getMark()%></td>
</tr>
<%
}
%>