¿Puedo crear un sitio web usando solo Java?

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:

  1. Los sitios web están compuestos de HTML (y a menudo JavaScript y CSS)
  2. 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.

Dependiendo del tipo de sitio web que le gustaría construir, recomendaría Vaadin. Le permite construir y diseñar el sitio web en Java mientras usa CSS.

Un ejemplo de interfaz de tablero construida en Vaadin

Vaadin tiene un ‘diseñador’ para Eclipse e IntelliJ que puede usar para diseñar la interfaz de usuario; ¡Esto ahorra mucho tiempo en comparación con escribir todo el código usted mismo! Con CSS, puede crear sitios web totalmente receptivos que funcionen de manera brillante en todos los dispositivos.

¡El marco que elija realmente depende de cuáles son los requisitos para el proyecto!

Hay muchas maneras de configurar su entorno de servidor, pero lo hago atando Tomcat a Apache a través de AJP.

Una vez que haya hecho eso, simplemente escriba el código Java, guarde los puntos de entrada de la aplicación como archivos JSP y haga que impriman el código HTML.

El resto será obvio si comienza a mirar el objeto de solicitud. Por ejemplo, se puede recuperar una var POST o GET llamada “win” a través de:

winPrm = request.getParameter("win");

Necesita usar JSP (JavaServer Pages). Para el servidor, puede usar Apache Tomcat. Utilicé NetBeans IDE para ayudarme en el desarrollo en ese entonces.

Cómo iniciar un proyecto de aplicación web en NetBeans:
https://netbeans.org/kb/docs/web

Sin embargo, si puede escribir en PHP, le recomendaría ir a la ruta PHP en su lugar. El alojamiento para JSP es raro y cuesta más que PHP.

Deberías echar un vistazo a Vaadin Framework.

Está construido sobre GWT, tiene algunos excelentes componentes de interfaz de usuario, es fácil de usar y comenzar.

No necesita usar (o saber) HTML, CSS o JavaScript, pero es útil si desea personalizar su sitio web.

1. Puede usar Google Web Toolkit. Es un marco tanto para el cliente como para el servidor donde el lado del cliente se compila de Java a JavaScript.

Proyecto GWT

La forma más sencilla de comenzar a crear sitios web con Java es usar JSP. JSP significa Java Server Pages, y le permite incrustar HTML en archivos de código Java para la creación dinámica de páginas. … Descubrirá que hay mucho más en el desarrollo web Java que los JSP, pero estos tutoriales lo guiarán en la dirección correcta.

Para saber más visite Learnvern.

Seguro. Para esto sirven Servlets y JSP.

Si compara el enfoque de Java para el desarrollo web con otros lenguajes, como PHP o ASP, encontrará que las cosas son un poco más complicadas, pero así es como funciona: algunos lenguajes se adaptan mejor a ciertos entornos que otros.

Cuando comencé, hice muchas cosas en la web en C. Fue un fastidio, pero el tiempo realmente no fue un problema y aprendí mucho de él.

Java es un lenguaje potente y versátil que se puede utilizar para desarrollar una variedad de aplicaciones, incluidos sitios web. Pasos involucrados en la construcción de un sitio web utilizando servlets escritos en Java 6 en el servidor web Apache Tomcat 6. Mientras que un sitio web puede construirse en Tomcat usando solo Java Server Pages (JSP).

Sí. Use JSP para sus páginas. Parece HTML pero en realidad se convierte en código Java generado en el servidor. Puede usar otros kits de herramientas, como GWT y JSF. Todos están programando únicamente en Java.

Claro, sí, solo usa Java para generar HTML.

Si desea un poco más de interactividad, puede desear un poco de JavaScript también, pero puede mantenerlo al mínimo y hacer prácticamente todo en Java.

¿Has buscado usar GWT (Google Web Toolkit) o ​​Dart de Google?

Sí, definitivamente, puede usar servlets JSP para crear su propio sitio web.