/**
 * 显示联系信息列表.
 */
public void list(HttpServletRequest request,HttpServletResponse response)
    throws Exception {    List list = contactDao.getAll();
    request.setAttribute("list", list);    request.getRequestDispatcher("/list.jsp").forward(request, response);
}
        
调用contactDao的getAll()方法获得联系信息列表,然后把list放到request里,因为pageContext是与jsp页面对应的,servlet里要把变量放到request作用域里,保证使用forward转发请求之后在jsp里也可以使用这个变量。进行操作之后即刻使用forward跳转到list.jsp,记得这里要用forward才能保证request中的变量不会消失。这样依赖list.jsp中改成从request中获得我们需要的数据。红字部分没看懂,为什么呢?

解决方案 »

  1.   

    因为与它对应的就是redirecte,重定向,我说的不是很精确,没那么专业,重定向后将是一次新的request,这样request原变量就没有了,如果是forward,可以说是个接力,转接,forward后还是这个request,原变量和值都还在。
      

  2.   

    和redirecte是2种不同的请求方式,建议看看书。