특정 웹 주소 x.pt
에 대한 요청이 Servlet1
과 매핑되도록 URL 매핑에 web.xml
이 있습니다. 이 서블릿의 service()
에서 요청에 특정 매개 변수가 있는지 확인합니다.다른 서블릿에서 서블릿 서비스 호출()
그렇다면 호출은 인스턴스화하고 서비스 메소드를 호출하여 다른 서블릿 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에) 나는 brwoser에 Servlet2의 반응을 얻고 여분의 뭔가를 할 필요가 있다면 알려 주시기 않는 일부 JSON 텍스트를 반환합니다.
미리 감사드립니다. 크리스가 말한대로 나는 RequestDispatcher의 작업을 기대,
RequestDispatcher rd = getServletContext().getRequestDispatcher(destination);
rd.forward(request, response);
무엇이 당신의 질문입니까? 이 방법이 효과가 있습니까, 아니면 문제가 있습니까? –
아마도 나는 이해하지 못할 것입니다. 요청을 두 번째 서블릿으로 방향 재 지정/전달하지 않는 이유는 무엇입니까? – tartak