【发布时间】:2012-02-03 08:54:39
【问题描述】:
我的 web.xml 中有一个 url 映射,这样对特定 url x.pt 的请求就会映射到一个 Servlet,比如 Servlet1。在这个 servlet 的 service() 中,我检查请求是否具有某些特定参数。
如果是这样,调用将委托给另一个 servlet Servlet2,方法是实例化它并调用其服务方法。
public void service(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
// if the call is for some special events (request has some specific parameter)
if (req.getParameter(conditionCheck()) {
doPost(req, res);
} else {
// Report parsing
}
}
public void doPost(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
try {
// instantiate Servlet2 object
servlet2.init(this.getServletConfig());
servlet2.service(req, res);
servlet2.destroy();
} catch (Exception e) {
LOG.error("Unable to execute event", e);
}
}
当请求是针对特殊事件(即对 Servlet2)时,浏览器会返回一些 JSON 文本 如果我需要做一些额外的事情来获得 Servlet2 对浏览器的响应,请告诉我。
提前致谢!
【问题讨论】:
-
您的问题是什么?这行得通还是你有问题?
-
也许我不明白。为什么不直接将请求重定向/转发到第二个 servlet ?