Respuesta de TLDR: depende, si quieres algo súper rápido e imposible de mantener con el tiempo, sigue este tutorial. De lo contrario, sigue este tutorial. Luego, implemente en el contenedor AWS Elastic Beanstalk Tomcat. O crea tu propio servidor.
Respuesta mucho más larga:
Esta pregunta es muy vaga y abierta, así que aquí hay algunas ideas posibles para considerar:
- ¿Existe algún estándar profesional y tarifario para desarrolladores y programadores de sitios web ya que estoy agotado en mi búsqueda de uno confiable?
- ¿Cómo implementar autocompletar en Node.js?
- ¿Puedes dar una opinión entre mis dos sitios web? ¿Qué te gusta más: Insider Biz Pros o IBP Products?
- ¿Qué crees que significa un desarrollador de Full Stack Robotic Process Automation (RPA)?
- ¿El núcleo ASP.NET es bueno para RAD en comparación con otras opciones como PHP?
- Los sitios web están compuestos de HTML (y a menudo JavaScript y CSS)
- Java se usa con mayor frecuencia para crear algún tipo de servicio de fondo para admitir contenido dinámico dentro del HTML (y, a veces, JavaScript o CSS)
Entonces, si tiene una página web simple sin contenido dinámico, probablemente no debería usar Java en absoluto, solo use HTML primero, luego agregue comportamiento (JavaScript) y estilo (CSS) a la página.
Si tiene contenido dinámico, es posible que desee utilizar Java. Ahora tienes muchas opciones. Érase una vez que la gente hizo un gran trabajo con los marcos de Java que componían páginas en el lado del servidor y luego las devolvían al cliente (navegador web) completamente formado (páginas JSP, Struts y similares). Más recientemente, las personas han adoptado los servicios REST para devolver JSON al cliente (navegador web).
Entonces a su pregunta original. Voy a volver a redactarlo de la siguiente manera: ¿Cómo uso Java para crear un servicio REST para devolver solicitudes JSON a una llamada Ajax de JavaScript realizada por una aplicación HTML que utiliza algún tipo de JavaScript para manipular datos dinámicos en una página web? (Suena muy largo aliento … ¿Tal vez necesita comas?:>)
Una de las formas más fáciles que he encontrado (hasta la fecha) para crear un servicio REST Java simple es usar Spring Boot. Afortunadamente, Spring Boot viene con este ejemplo exacto.
Si esta pregunta era realmente “¿Cómo hago una página web con Java?”, Entonces es posible que no desee utilizar Spring Boot, ya que se trata de una cuestión de exceso o deficiente (dependiendo de su punto de vista). En su lugar, querrá descargar Tomcat e instalar el WAR más simple (un archivo WAR es un archivo ZIP renombrado a .WAR, contiene una determinada estructura de directorio que permite que los contenedores de Servlet como Tomcat ejecuten los Servlets dentro) que puede con un Servlet en eso. (Tenga en cuenta que este último enlace tiene un Servlet simple que devuelve HTML)
Suponiendo que no tiene un servidor y no desea crear / mantener uno: cuando haya terminado con uno de los pasos anteriores y haya creado un archivo WAR, cree un perfil de AWS e implemente una aplicación Elastic Beanstalk que sea corriendo en un contenedor Tomcat. Asegúrese de seleccionar el contenedor “nano” (actualmente el más pequeño, con un costo de menos de $ 5 / mes).
Su aplicación ahora está en internet.
Suponiendo que no tiene un “servidor” pero tiene una conexión persistente a Internet pero desea gastar incluso menos de $ 5 / mes:
Ve a comprar un Raspberry Pi modelo B (el que tiene la conexión de red) (sugeriría el Pi Zero pero son muy difíciles de encontrar en este momento), instala una distribución de Linux en él, instala Java en él, instala Tomcat en eso. Ejecute su aplicación en él. Conéctelo a Internet, vaya a un servicio de nombres de IP dinámico (aquí hay algunos) y encuentre uno que se adapte mejor a sus necesidades. Obtenga un dominio gratuito de ellos y apúntelo a su Raspberry Pi, recuerde abrir el puerto en su enrutador. También recuerde ejecutar el cliente desde el servicio dinámico de nombres de IP en su enrutador o mejor aún en su Raspberry Pi.
Veo que el comentario debajo de la pregunta pregunta sobre la alternativa más barata. La solución Pi es MUCHO más barata que $ 5 / mes a largo plazo, sin embargo, es MUCHO más trabajo que usar AWS (por lo que AWS gana tanto dinero).
Suponiendo que tiene un “servidor” y una conexión persistente a Internet, pero desea gastar aún menos:
Instale Java en su “servidor” (cualquier computadora que tenga una conexión dura a Internet, sin conexión inalámbrica), instale Tomcat en ella. Ejecute su aplicación en él. Vaya a un servicio de nombres de IP dinámico (aquí hay algunos) y encuentre uno que se adapte mejor a sus necesidades. Obtenga un dominio gratuito de ellos y apúntelo a su Raspberry Pi, recuerde abrir el puerto en su enrutador. Recuerde también ejecutar el cliente desde el servicio de nombres dinámicos de IP en su enrutador o mejor aún en su “servidor”.
Veo que el comentario debajo de la pregunta pregunta sobre la alternativa más barata. La solución Pi es MUCHO más barata que $ 5 / mes a largo plazo, sin embargo, es MUCHO más trabajo que usar AWS (por lo que AWS gana tanto dinero). La solución de “servidor propio” es probablemente más costosa debido a los costos de electricidad de ejecutar una máquina completa frente a una Raspberry Pi todo el tiempo.
Nota para cualquiera que diga que Arduino es más barato que Pi: Arduino no ejecuta Java.
Nota para cualquiera que diga que otros proveedores “en la nube” tienen contenedores Tomcat más baratos: Probablemente cierto, por favor mencione en los comentarios.