jsp如何获得servlet数据

servlet中response.sendRedirect跳转到jsp页面,但是用request.getAttribute获取的值为null,为什么会这样

使用如下方式跳转
request.getRequestDispatcher("*.jsp").forward(request,response);
redirect 会首先发一个response给浏览器, 然后浏览器收到这个response后再发一个requeset给服务器, 然后服务器发新的response给浏览器. 这时页面收到的request是一个新从浏览器发来的.
forward 发生在服务器内部, 在浏览器完全不知情的情况下发给了浏览器另外一个页面的response. 这时页面收到的request不是从浏览器直接发来了,可能己经放了数据.
所以:
request.setAttribute存的东西
只有通过forward跳转 才能在新页取出来
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-08-05
  jsp页面用表单提交到 servlet里面去,可以先打印看看,后台有没有取到值;
  如果是foword,include等内部重定向的话,可以在request.setAttribute里传,
  如果是外部重定向那么,如下:
  1、可以再url后跟参数;
  2、通过session传递;
  3、通过cookie传递;
  4、Java的ThreadLocal;本回答被网友采纳
第2个回答  2010-04-28
不能用response.sendRedirect 跳转
用那个forward的方法

要不你就 把东西放session里
第3个回答  2010-04-28
你在servlet里面进行了 request.setAttribute("aaa",aaa);没有?
相似回答