Java J-Meter不访问Bean

Java J-Meter不访问Bean,java,post,jmeter,javabeans,Java,Post,Jmeter,Javabeans,在我的控制器java类中,我有以下几行代码: CartBean cart = (CartBean) request.getSession().getAttribute("cart"); int selection = Integer.parseInt(request.getParameter("choice")); ArrayList<RoomDTO> booking = cart.getSearch().getResults().get(selection); 在JMeter中,

在我的控制器java类中,我有以下几行代码:

CartBean cart = (CartBean) request.getSession().getAttribute("cart");
int selection = Integer.parseInt(request.getParameter("choice"));
ArrayList<RoomDTO> booking = cart.getSearch().getResults().get(selection);
在JMeter中,我添加了一个HTTP Cookie管理器,当我运行请求时,会保存一个Cookie:

Cookie Data:
JSESSIONID=7886784BB8E29BB9AA16564E53623166
有人知道问题出在哪里吗?如果我在Eclipse中运行该程序,就没有问题了

感谢您的帮助。

在此代码中

cart.getSearch().getResults().get(selection);
NPE可能由以下因素引起:

购物车为空 cart.getSearch返回空值 cart.getSearch.getResults返回空值
在假设从jmeter调用此代码是导致问题的原因之前,请确定是哪个代码导致问题

我对您的问题有一些评论

request.getParameterchoice将从提交的表单中获取名为choice的输入类型的值。因此request.getParameter将检索客户端通过POST或GET方法提交的值

现在对于request.getAttribute,这一切都在服务器端完成。将属性添加到请求中,然后将请求提交给另一个资源,客户端不知道这一点。因此,所有处理此问题的代码通常都在servlet中

您不能使用带有Jmeter的request.setattribute设置购物车Bean值,就像您在webapp中使用JSP页面所做的那样。Jmeter可以发送具有不同内容类型和头值的POST/GET方法

第三行错误:CartBean cart=CartBean request.getSession.getAttributecart; 在继续cart对象和request.getParameterchoice之前执行空检查

还有一点, 我认为,最好使用测试脚本记录器来创建测试计划,然后关联变量


祝你好运

谢谢你指出这一点。原来这是一个与此相关的问题。
cart.getSearch().getResults().get(selection);
if(cart==null){//do action} 
if(request.getParameter("choice")==null){//do action}