자바스크립트는 클라이언트(브라우저)에서 실행되고, 자바(Java) 코드는 서버에서 실행되기 때문에 자바스크립트가 자바 메서드를 직접 호출할 수는 없습니다. 대신 JSP와 같은 자바 기반 프레임워크를 활용하여, 자바스크립트의 요청이 서버로 전달될 때 해당 자바 메서드를 실행하도록 구성해야 합니다.
JSP를 이용한 호출 방식
아래 예제에서는 자바스크립트 내부의 함수에서 JSP 페이지에 요청을 보내고, 그 JSP 페이지가 자바 클래스의 메서드를 호출하도록 처리합니다. jQuery의 $.get() 메서드를 사용하면 간단하게 서버에 요청을 전달할 수 있습니다.
1. 자바스크립트 코드
// javascript code
function initiateFunc() {
$.get('localhost/project/myexecution.jsp');
}
$( initiateFunc);위 코드에서 initiateFunc() 함수는 문서가 준비되면 실행되며, myexecution.jsp 파일로 GET 요청을 보냅니다.
2. myexecution.jsp 코드
<%@ page import="deleteconfig"%>
<%
deleteconfig.initiate();
%>요청을 받은 myexecution.jsp는 deleteconfig 클래스를 임포트한 후, initiate() 메서드를 호출합니다. 이렇게 하면 자바스크립트 → JSP → 자바 메서드 순으로 동작이 연결되어 결과적으로 원하는 자바 함수를 실행할 수 있습니다.
정리
- 자바스크립트는 서버의 자바 메서드를 직접 호출할 수 없습니다.
- JSP 등 서버 사이드 기술이 중간 다리 역할을 해야 합니다.
- Ajax(
$.get())로 JSP에 요청을 보내고, JSP에서 자바 메서드를 호출하는 구조가 일반적입니다.