두 개의 WAR 응용 프로그램이 있으며 두 응용 프로그램 간의 통신 모드는 서블릿을 통해 이루어집니다.RequestDispatcher가 무한 루프로 끝납니다.
내 응용 프로그램 (WAR A)은 다른 WAR에 서블릿 URL이있는 하위 창을 엽니 다 (WAR B라고 말하면 됨).
서블릿 (WAR B)은 데이터를 처리하므로 처리 된 데이터를 원래 애플리케이션의 서블릿 (예 : WAR A의 서블릿)으로 보내야합니다.
그러나이 프로세스는 무한 루프로 끝나며 WAR-A에서 보낸 URL 매개 변수도 null입니다.
아래 스크립트는 WAR가-B는 일부 URL의 매개 변수를 전달에서 서블릿의 URL과 자식 창을 엽니 다 : 여기
는 코드입니다. 다음은function invokePlugin(invokeURL, custValJSON, meaCompPartJSON) {
window.open(invokeURL + '?custValJSON=' + custValJSON,'');
}
는
private void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String custValJSON = request.getParameter("custValJSON");
System.out.println("custValJSON : " + custValJSON);
CustomValues custVal = gson.fromJson(custValJSON, CustomValues.class);
if(custVal != null) {
System.out.println("Cust val details : " + custVal.getName());
custVal.setValue("Satya");
}
String destination = "/testPlannerPluginResult";
RequestDispatcher reqDispatch = request.getRequestDispatcher(destination);
request.setAttribute("custValJSON", gson.toJson(custVal));
if(reqDispatch != null) {
reqDispatch.forward(request, response);
}
}
는 누구의 아이디어가 있습니까 ... URL 매개 변수를 추출하고 데이터를 처리하고 다시 WAR-A의 서블릿에 다시 요청을 보내 WAR-B에서 서블릿 코드 이?
감사합니다,
사티 후 그냥 서블릿이 기본적으로 매번 자신을 호출하는 것을 의미
web.xml 정의가 좋지 않은 스타일입니다. web.xml은 '/ *'와 같이 url-pattern을 가지므로 서블릿은 StackOverfow에서 반복적으로 호출됩니다. :) – Satya