2011-07-02 6 views
0

Javascript에서 "특정"Java 메소드를 호출하고 콜백 등을 갖는 다양한 옵션은 무엇입니까?Javascript에서 Java 메소드를 호출하는 옵션

예. 내가 아는 한 DWR을 사용하고 있습니다. 그러나 AJAX 자체에서 수행 할 수 있는지 또는 사용할 수있는 다른 라이브러리가 있는지 알고 싶습니다.

권장되는 접근 방법은 무엇입니까?

답변

2

JavaScript와 동일한 페이지 컨텍스트에서 실행되는 Java 애플릿을 제외하고 JavaScript가 Java 메소드를 직접 호출하거나 Java 메소드를 직접 호출 할 수있는 방법은 없습니다. DWR은 자바 스크립트에서 자바 메소드를 직접 호출하지 않고 서버에 AJAX 요청을 보내고 자체 중간 계층을 사용하여 요청 및 응답 처리를 계측하여 Java 메소드를 호출하는 것처럼 보이게합니다.

하지만 어쨌든 클라이언트에서 JavaScript 코드를 가져오고 서버에서 Java 코드를 가져 오는 일반적인 방법은 클라이언트에 노출 된 서버에서 API를 정의하는 것입니다. 그런 다음 클라이언트는 노출 된 API를 사용하여 AJAX 또는 선호하는 다른 메커니즘을 사용하여 요청할 수 있습니다. 클라이언트는 Java 메소드를 직접 호출하지 않고, 서버의 주어진 URL에 요청을 보내고, Java 코드의 일부 비트로 다시 매핑됩니다. 가장 보편적 인 JavaScript 프레임 워크는 AJAX 요청 처리 및 콜백을 단순화하는 편리한 메소드를 제공합니다.

어떤 이유로 든 임의의 클래스에서 임의의 메소드를 호출하고 그 결과를 반환 할 수있는 기능을 원한다면 매개 변수로 클래스 이름과 메소드 이름을 취하는 API 메소드를 정의 할 수 있습니다 그런 다음 리플렉션을 사용하여 메소드 호출을 수행합니다. 이것은 아마도 DWR의 서버 측 부분이하는 일과 매우 유사 할 것입니다.

+0

나머지는 REST를 제외한 모든 것이 좋습니다.) 반드시 RESTful 일 필요는 없습니다. –

+0

@Murali 부사장 - 충분히 사실입니다. 결정된. – aroth

0

Mozilla Rhino를 사용할 때이 작업을 수행 할 수 있다는 것을 알고 있지만 브라우저 런타임 환경에 대해 이야기하고 있다고 생각합니다. 아마도이 응답이 도움이되지 않을 수도 있습니다.

+0

네, 저에게 맞습니다. – testndtv

관련 문제