java httpclient帖子

时间:2010-04-10 02:03:25

标签: jsp redirect httpclient

我有一个关于如何允许我的jsp页面向服务器发出post命令的问题,并且浏览器仍然允许重新发布已发布页面的方向。

以下是代码snipets:

执行帖子的代码(这是在jsp文件中):

HttpClient client = new DefaultHttpClient();
client.getParams().setParameter("SUBMITTED", "submitted");
client.getParams().setParameter("xxxxxxxx", purchaser.getemail());
client.getParams().setParameter("xxxxxxxx", purchaser.getsuject());

HttpPost method = new HttpPost(url+"process.jsp");
client.execute(method); 

这是一个process.jsp

的snipet
if (person.getStatus() == person.ACTIVE)
  response.sendRedirect("Account.jsp);
else if (person.getStatus() == person.ERROR)
  response.sendRedirect("Error.jsp);

我希望浏览器从process.jsp中获取/转到重定向。有没有人知道一个可以帮助我的教程,或者我是以错误的方式解决这个问题。

1 个答案:

答案 0 :(得分:1)

你的确走错了路。与任何“JSP中的原始Java代码”一样,此逻辑属于真正的Java类,而不属于JSP文件。创建一个执行此操作的Servlet,然后让它将请求重定向/转发到感兴趣的JSP文件。

JSP是一种视图技术,实际上是响应体的一部分。如果您尝试将响应更改为JSP的一半,则最终只能使用IllegalStateException: response already committed

此外,从问题中不清楚整个功能要求。我的印象是两个JSP文件都在相同的环境中运行,然后整个HttpClient方法都是错误的。开始学习更多关于servlet的知识。 This is a good starting point