jsp如何获得servlet数据
servlet中response.sendRedirect跳转到jsp页面,但是用request.getAttribute获取的值为null,为什么会这样...
servlet中response.sendRedirect跳转到jsp页面,但是用request.getAttribute获取的值为null,为什么会这样
展开
4个回答
展开全部
使用如下方式跳转
request.getRequestDispatcher("*.jsp").forward(request,response);
redirect 会首先发一个response给浏览器, 然后浏览器收到这个response后再发一个requeset给服务器, 然后服务器发新的response给浏览器. 这时页面收到的request是一个新从浏览器发来的.
forward 发生在服务器内部, 在浏览器完全不知情的情况下发给了浏览器另外一个页面的response. 这时页面收到的request不是从浏览器直接发来了,可能己经放了数据.
所以:
request.setAttribute存的东西
只有通过forward跳转 才能在新页取出来
request.getRequestDispatcher("*.jsp").forward(request,response);
redirect 会首先发一个response给浏览器, 然后浏览器收到这个response后再发一个requeset给服务器, 然后服务器发新的response给浏览器. 这时页面收到的request是一个新从浏览器发来的.
forward 发生在服务器内部, 在浏览器完全不知情的情况下发给了浏览器另外一个页面的response. 这时页面收到的request不是从浏览器直接发来了,可能己经放了数据.
所以:
request.setAttribute存的东西
只有通过forward跳转 才能在新页取出来
2015-08-05
展开全部
jsp页面用表单提交到 servlet里面去,可以先打印看看,后台有没有取到值;
如果是foword,include等内部重定向的话,可以在request.setAttribute里传,
如果是外部重定向那么,如下:
1、可以再url后跟参数;
2、通过session传递;
3、通过cookie传递;
4、Java的ThreadLocal;
如果是foword,include等内部重定向的话,可以在request.setAttribute里传,
如果是外部重定向那么,如下:
1、可以再url后跟参数;
2、通过session传递;
3、通过cookie传递;
4、Java的ThreadLocal;
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不能用response.sendRedirect 跳转
用那个forward的方法
要不你就 把东西放session里
用那个forward的方法
要不你就 把东西放session里
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你在servlet里面进行了 request.setAttribute("aaa",aaa);没有?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询