¿Cómo se puede hacer una página web con ejercicios Java y hacer que la página verifique y ejecute el código?

Si quiere decir algo como esto: http://www.tutorialspoint.com, y específicamente algo como esto: compilar y ejecutar Java en línea, mi respuesta será un simple “no fácil”.

Para hacer algo así, debe implementar (con la seguridad en mente desde el principio) un front-end web completo que se ocupa de:

  • máquinas virtuales livianas (ese sitio web anterior aparentemente usa LXC), por lo que todo se ejecuta en un entorno restringido;
  • herramientas de desarrollo (compiladores, enlazadores, etc.);
  • espacio de almacenamiento masivo para guardar sus archivos fuente y una forma de administrarlos a través de la web;
  • una forma de editar fuentes a través de una interfaz web;
  • una forma de proporcionar un emulador de terminal basado en web;
  • etc. etc. etc.

lo que requeriría que ambos sean competentes en muchas tecnologías y que tengan los recursos de hardware (ya sean propios o arrendados) para ejecutar todo.

Muchas piezas de este rompecabezas (bastante grande) ya están disponibles en línea como software libre, pero la parte difícil es integrarlas teniendo en cuenta la seguridad.

Bueno, como la mayoría de los desarrolladores harían primero por cuestiones de naturaleza, es verificar el desbordamiento de la pila.

Surgen dos opciones

1) si está utilizando Java 6 y hasta hay una API de clase de compilador, que se puede utilizar para compilar una cadena en código Java

2) puedes usar cáscara de frijol

Entonces, como notarán, no menciono nada sobre la Web. Como este trabajo no se puede hacer en una página web, como se mencionó anteriormente, la web es solo html, css y java script. La siguiente suposición que estoy haciendo es que va a utilizar un backend de Java para construir el sistema, ya que las respuestas proporcionadas están basadas en Java.

Entonces, el flujo típico para esto sería
1) construya una página web que permita al usuario escribir fragmentos de código java que esencialmente se leerán como una cadena

2) permita que envíen la cadena a través de una llamada ajax a una api de descanso que haya creado

3) en la API prueba una de las soluciones mencionadas anteriormente, analiza la cadena, compila el código y lo ejecuta y luego devuelve los resultados a la persona

Tenga en cuenta que es muy arriesgado ejecutar código aleatorio en el back-end, por lo que la seguridad debe pensarse de primera mano. Espero que esto ayude

No estoy realmente seguro de lo que está preguntando aquí, una página web es un montón de html, javascript y css que se cargan en su navegador web y se ejecutan, mientras que java es un lenguaje que se ejecuta en la parte superior de la jvm y por sí solo no tiene nada que hacer con páginas web. Es posible que se esté refiriendo a tecnologías de servidor Java como JSP, Spring, etc. También están los applets de Java, pero eso es tecnología antigua, no creo que te refieras a eso.

Si hace esta pregunta, no debe hacerlo.

Cualquiera que necesite ayuda con esto, creará la mayor pesadilla de seguridad en todo Internet, todo para ellos.