如何在不更改URL的情况下调用servlet?

时间:2010-04-04 08:54:28

标签: java

我想调用servlet而不用通过jsp更改url。我该怎么做?

5 个答案:

答案 0 :(得分:1)

通常的方法是通过XMLHttpRequestiframe。诸如YUI之类的各种图书馆将为您解决繁重的问题。

答案 1 :(得分:1)

如果必须在JSP中包含servlet响应:

<jsp:include page="yourServlet" />

但这是糟糕的架构。正确的方法是使用一个servlet作为控制器来显示JSP上的数据。

答案 2 :(得分:1)

另一种(粗鲁)方法是使用java.net.URL.openStream()(或类似的调用)获取其他servlet的响应,并将结果刷新到servlet的输出流。但是,如上所述,您最好使用标准的AJAX技术,或者只是更好的OOP设计。

答案 3 :(得分:0)

在JSP中,您可以调用代码段中的任何代码。我建议你改变程序,以便servlet和JSP都调用一个通用的方法。这对代码和测试来说更容易。

答案 4 :(得分:0)

看起来有点脏,但它有效...并且通常用于营销跟踪服务...... 您可以使用url =您的servlet将隐藏的1x1px图像添加到您的jsp中。当尝试加载img时,浏览器将调用servlet ...

http://yourservlet?args=...

这样你可以轻松地调用servlet,但你不能处理servlet响应(或者你可以根据需要向浏览器显示不同的图像......)