JRE 또는 다른 런타임 환경을 사용하여 Apache 또는 Nginx와 같은 웹 서버에서 Java 코드를 컴파일 할 수 있습니까? 특히 사용자 입력 (Java 코드)을 받아들이는 웹 응용 프로그램을 갖고 싶습니다. 사용자가 실행되면 Java를 Java Byte 코드로 컴파일하고 결과를 표시합니다 (Eclipse처럼).
이러한 종류의 기술이 존재합니까? 컴파일 된 언어의 논리를 무시합니까? 미리 감사드립니다. Amicably, James웹 서버에서 Java를 컴파일 할 수 있습니까?
0
A
답변
4
Apache를 실행하는 서버에도 JDK가 필요합니다. 입력을 파일에 쉽게 기록하고, 컴파일하고, 실행하고 결과를 사용자에게 표시 할 수 있습니다. 이 작업은 Tomcat에서 실행되는 CGI 스크립트 또는 Java EE 응용 프로그램 또는 이와 유사한 방법으로 수행 할 수 있습니다. JDK가 필요하며 JRE로는 충분하지 않습니다.
잠재적 인 보안 위험을 고려해보십시오. 프로그램이 실제로하는 일에 따라 컴퓨터 나 다른 컴퓨터에서 문제가 발생할 수 있습니다.
1
물론 가능합니다. 그러나 JDK와 소스 코드를 입력으로 받아 Java 컴파일러를 호출하여 코드를 컴파일하는 서버 측 스크립트 (PHP, Ruby, Python, Java 등)가 필요합니다.
보안 고려 사항을 고려해야합니다. 모든 사용자는 서버에서 실행될 코드를 업로드 할 수 있습니다. 따라서 코드가 샌드 박스에서 실행되는지 확인해야합니다.
1
이 작업을 수행하는 여러 웹 사이트가 있습니다. 제가 사용한 것은 http://www.ideone.com입니다.
JDK 및 다양한 스크립트를 사용하여이를 재현하거나 처음부터 고유 한 컴파일러를 작성할 수 있습니다. 어느 쪽이든 실제로 코드를 컴파일하기 위해서는 어떤 종류의 컴파일러가 필요합니다.
관련 문제
- 1. 웹 서버에서 동적으로 라텍스를 컴파일 할 때의 보안 문제
- 2. Java를 컴파일 할 수있는 무료 GUI 소프트웨어가 있습니까
- 3. Flex Builder로 Java를 프로그래밍 할 수 있습니까?
- 4. 대학의 서버에서 RoR 웹 사이트를 호스팅 할 수 있습니까?
- 5. 웹 사이트를 2 대의 서버에서 호스팅 할 수 있습니까?
- 6. 어떻게 서버에서 PHP/MySQL 웹 서비스를 테스트 할 수 있습니까?
- 7. Firefox 플러그인 인 Greasemonkey를 웹 서버에서 검색 할 수 있습니까?
- 8. 웹 서버에서 Umbrao.sdf를 복사 할 수 없습니다.
- 9. 앱을 디 컴파일 할 수 있습니까?
- 10. 어떻게 바이너리를 컴파일 할 수 있습니까?
- 11. Java 가상 머신없이 Java를 실행할 수 있습니까?
- 12. Perl이나 Java를 사용하여 Drupal 사이트에 컨텐츠를 게시 할 수 있습니까?
- 13. 원격 서버에서 루비 디버그를 할 수 있습니까?
- 14. 자체 서버에서 conversion.js를 호스팅 할 수 있습니까?
- 15. QNX에서 Java를 사용할 수 있습니까?
- 16. java가 solaris에서 java를 다시 시작하는 스크립트를 호출 할 수 있습니까?
- 17. windows에서 objective c를 컴파일 할 수 있습니까?
- 18. 어떻게 파이썬을 libz로 컴파일 할 수 있습니까?
- 19. Emscripten이 LLVM을 JavaScript로 컴파일 할 수 있습니까?
- 20. Sass - 런타임에 컴파일 할 수 있습니까?
- 21. NKDbgPrintfW를 릴리즈 빌드에서 컴파일 할 수 있습니까?
- 22. 일식없이 안드로이드 프로젝트를 컴파일 할 수 있습니까?
- 23. 어떻게 ghdl에서 .vhd를 컴파일 할 수 있습니까?
- 24. nmake : 컴파일 경고를 비활성화 할 수 있습니까?
- 25. 자바를 직접 컴파일 할 수 있습니까?
- 26. 다른 컴퓨터에서 컴파일 할 수 있습니까?
- 27. apdfviewer에서 원시 코드를 컴파일 할 수 있습니까?
- 28. jsp를 eclipse로 사전 컴파일 할 수 있습니까?
- 29. Haxe를 Coffeescript로 컴파일 할 수 있습니까?
- 30. 어떻게하면 X11을 정적으로 컴파일 할 수 있습니까?
보안에 대한 Beau의 의견을 바로 지원합니다. 사용자가 작성하는 코드는 서버에서 실행됩니다. 그는 파일에 액세스하고 시스템 호출 등을 할 수 있습니다. Java의 보안 관리자를 사용하여이를 강화하고 Java 프로세스를 제한하는 것이 가능하지만 수행중인 작업을 실제로 알지 못하면이 작업을 수행하지 마십시오. – sstendal
굉장하다. 감사. 그러나 컴파일 요청이 서버로 전송 될 때마다 VM에서 Java 코드를 실행할 수 있습니까? –