我有一个关于使用Java Servlets中可用的ServletInputStream
和ServletOutputStream
的问题。首先,我将给出一些非常需要的上下文:输入/输出流Java Servlets
我正在处理的任务在Google应用引擎中实现任务队列。我已经能够将任务添加到应用引擎以及要调用的适当工作人员。但是,我正在努力想办法将可序列化对象的ArrayList<>
传递给工作人员的doPost()
方法。普遍使用的方法显然是分别使用HTTP请求和响应对象的输入和输出流来处理servlet之间的通信。我已经广泛搜索,但一直未能找到一个清晰的例子,说明如何准备这样一个用于传输的arraylist作为输出流,将它添加到第一个servlet的响应中,然后从第二个servlet中的请求中获取它并最后将其转换回用于doPost()
方法的代码中的阵列列表。所以这基本上是我的问题。由于我对Java的经验不足,所以我很难自己把它全部弄清楚,而且大部分时间都在努力将自己的头围绕在它周围。
为了澄清多一点,我会后工人的问题doPost()
方法:
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
try
{
ArrayList<Quote> qs = /*Here the list needs to be read in.*/ null;
EntityManager manager = EMF.get().createEntityManager();
CarRentalModel.get().confirmQuotes(qs, manager);
}
catch (ReservationException e)
{
}
}
任何帮助将不胜感激。
谢谢你在前进,
凯文
对于HTTP,您似乎比servlet更新颖。客户端到底是什么?听起来好像它不仅仅是一个HTML页面,而且你正在尝试开发一个Web服务。你有没有考虑过更多可重用的XML或JSON作为输入格式?借助Java序列化,您仅限于基于Java的客户端。 – BalusC
看起来很棒,我的确对HTTP很新,而且它确实是一个非常简单的Web服务。然而,我必须坚持既定的方法,我只能根据作业的参数来实现它。不过,我会纯粹出于教育理由考虑你的建议。 –