request.setAttribute不能与chain.doFilter一起使用

时间:2015-08-28 06:25:59

标签: servlet-filters

我有两个servlet ReplayFilterVideoReplayServlet。从ReplayFilter开始,我使用VideoReplayServlet致电chain.doFilter。我可以从VideoReplayServlet调用ReplayFilter,但我无法从VideoReplayServlet中的请求对象获取userId变量,我已在请求对象中设置该变量,然后才调用chain.doFilter 。您可以在下面找到我的代码 -

在ReplayFilter中 -

   request.setAttribute("userId", userId);
   request.setAttribute("uname", "mari");

chain.doFilter(request,response);

在VideoReplayServlet中 -

  String uname = request.getParameter("uname");
  String user_Id = request.getParameter("userId");

在VideoReplayServlet重播中,我得到的是uname和user_Id null。

有人能帮助我吗?

1 个答案:

答案 0 :(得分:1)

我认为这里的问题是你将它设置为属性并期望它作为一个矛盾的参数。 请尝试使用以下代码

request.getAttribute("userId", userId); //Note the getAttribute() instead of getParameter()