2015-04-08 275 views
0

我正在做我的第一个Web应用程序,并有一个关于请求/会话doGet/doPost的问题。首先,在一个名为'userConnection'的servlet中,用户必须通过输入用户名/密码进行连接。然后我使用其他变量(用户名,密码等)创建一个bean'user'。我需要这个bean在接下来的servlet的逻辑,MAKE_OFFERServlets之间共享对象

在userConnection的doPost()方法我做

<..creating user bean object..> 
request.setAttribute("user", user); 
this.getServletContext().getRequestDispatcher(MAKE_OFFER).forward(request, response); 

MAKE_OFFER是URL到另一个servlet。在这个页面中,用户必须填写表单以提供报价,并且我正在使用用户bean信息进行一些验证。但是由于getRequestDispatcher调用了doPost()方法,用户没有机会填写表单,所以我得到的表单是空的错误。 用户属性应该是会话属性而不是请求属性吗?有没有一种方法可以将user用户对象从userConnection servlet中带到MAKE_OFFER servlet中,带或不带调用doPost?

感谢

回答

1

我觉得你有一对夫妇的问题在这里:

  1. 如你所说你自己,你需要保留请求之间的客户端状态的机制。使用会话属性是最常见和最简单的方法;
  2. 看起来您正在将处理直接转发到您的MAKE_OFFER servlet。相反,您需要转发到包含您的优惠表单的页面(大概是一个JSP)。表单submit应该随后POST到您的MAKE_OFFER servlet。
+0

谢谢谢谢谢谢!我之前尝试过,它不起作用,但我可能在jsp页面名称中有错字-_- –