2015-08-28 140 views
0

我有两个servlet ReplayFilterVideoReplayServlet。从ReplayFilter,我打电话VideoReplayServlet使用chain.doFilter。我可以从ReplayFilter调用VideoReplayServlet,但我无法从VideoReplayServlet中的请求对象中获取userId变量,我在调用chain.doFilter之前已经在请求对象中设置了该变量。您可以在下面找到我的代码 -request.setAttribute与chain.doFilter不兼容

在ReplayFilter -

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

chain.doFilter(请求,响应);

在VideoReplayServlet -

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

在VideoReplayServlet重播,我得到两个UNAME和USER_ID空。

任何人都可以帮助我吗?

+0

请将您的'web.xml'文件与两个方法的代码一起发布到每个servlet中。 –

+0

getAttribute和getParameter之间有趣的区别http://stackoverflow.com/questions/5243754/difference-between-getattribute-and-getparameter – Weslor

回答

1

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

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