【发布时间】:2013-11-22 05:12:29
【问题描述】:
我想知道将请求传递给方法并拉取 HttpSession?
从 JUnit 开始:
@Test
public void testSessionPass(){
HttpServletRequest request = createMock(HttpServletRequest.class);
HttpSession session = createMock(HttpSession.class);
expect(session.getAttribute("testAttribute")).andReturn("testValue").anyTimes();
replay(request);
replay(session);
CAction cAction = new CAction();
cAction.test(request);
}
在 CAction 中:
public void test (HttpServletRequest request){
HttpSession session = request.getSession();
if(session.getAttribute("testAttribute")!=null){
System.out.println((String)session.getAttribute("testAttribute"));
}
}
更新:
为什么我在 HttpSession session = request.getSession(); 行从传递的请求值中丢失了会话; ??
【问题讨论】:
-
你有什么问题?
-
当我传入请求参数时,我丢失了 testAttribute 的会话值。它实际上是死在 HttpSession session = request.getSession();行。
标签: junit easymock httpsession