2013-06-30 2 views
-1

Java 애플릿을 클라이언트 측에서 데스크톱 응용 프로그램으로 실행하고 서버에서 exes를 호출하려고하며 클라이언트 컴퓨터가 서버의 exes에 액세스합니다. 나는이 RMI 나 서블릿에 유용한 것이 무엇인지 모른다.애플릿을 사용하여 서버의 exe 파일을 클라이언트로 실행

나는

Runtime rt=Runtime.getRuntime(); 
ring cmd[]={"cmd.exe", "/C", "path for some exe"}; 
rt.exec(cmd); 

으로 시도하지만이 같은 기계에서 EXE를 열 때 유용합니다.

아이디어가 있으십니까?

+1

클라이언트 컴퓨터는 서버의 디스크에 액세스 할 수 없습니다. – SLaks

+0

왜? 서버에서 메모장을 시작하면 어떤 이점이 있습니까? 아니면 실제로 클라이언트가 결정한 모든 응용 프로그램입니까? 다른 실행 파일에 대해 정말로 생각하고 있다면 주요 보안 위험을 고려 했습니까? – EJP

답변

0

서버에 전화를 걸어 거기에 requred .exe를 실행하고 다시 응답을 보내야합니다. 서블릿은 그 점에 잘 맞을 것이다.

public class ExecutorServlet extends HttpServlet { 

@Override 
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { 
    Runtime rt=Runtime.getRuntime(); 
    String cmd[]={"cmd.exe", "/C", "c:\\windows\\notepad.exe"}; 
    Process process = rt.exec(cmd);   
    IOUtils.copy(process.getInputStream(), resp.getWriter()); 
    resp.setStatus(HttpServletResponse.SC_OK); 
} 

}