Este servicio implementa un servidor HTTP básico desarrollado completamente en Java sin usar frameworks externos como Spring o Spark. El servidor es capaz de manejar múltiples solicitudes secuenciales.
El servidor web maneja solicitudes HTTP GET y POST, el get pide una información al usuario (nombre) y el post cambia esa información con una nueva. Además acepta contenido desde el disco local (HTML, CSS, JavaScript, imágenes) y proporciona una API REST para demostrar la comunicación asíncrona entre cliente y servidor.
- Java 8 o superior
- Git
- Un navegador web moderno
- Clonar el repositorio:
git clone https://github.com/hakki17/AREP-taller1
cd AREP-taller1- Compilar el proyecto: mvn clean install
javac -d . src/main/java/code/escuelaing/httpserver/Httpserver.java- Ejecutar el servidor:
java code.escuelaing.httpserver.Httpserver-
El servidor iniciará en el puerto 35000
-
Abrir el navegador y visitar:
http://localhost:35000
- Para detener el servidor, presionar Ctrl+C en la terminal
Servidor HTTP (Httpserver.java)
- Clase principal que implementa el servidor
- Procesa requests HTTP de forma secuencial (no concurrente)
Estructura del servidor:
1. Servir archivos estáticos
- Lee archivos desde el directorio webroot
- Determina tipos correctos (HTML, CSS, JS, imágenes)
2. API REST - GET /api/hello
- Recibe un nombre como parámetro de consulta
- Almacena el nombre en memoria
- Retorna respuesta con el nombre
3. API REST - POST /api/updateName
- Recibe datos JSON en el cuerpo de la request
- Actualiza apellido en memoria
- Retorna confirmación
- Página principal: Verificar que index.html se carga correctamente
- Estilos CSS: Confirmar que styles.css se aplica
- JavaScript: Comprobar que main.js se ejecuta
- Imágenes: Validar que las imágenes se muestran
- Archivos inexistentes: Verificar respuesta 404
httpserver/
├── src/
│ └── main/
│ └── java/
│ └── code/
│ └── escuelaing/
│ └── httpserver/
│ └── Httpserver.java
├── webroot/
│ ├── index.html
│ ├── formularios.html
│ ├── styles.css
│ ├── main.js
│ └── img/
└── README.md
Maria Sanchez - Estudiante de Ingeniería de Sistemas de la Escuela Colombiana de Ingeniería Julio Garavito
Este proyecto demostró exitosamente:
- Implementación de servidor HTTP desde cero en Java
- Manejo de diferentes tipos de contenido web
- Comunicación asíncrona cliente-servidor
- Servicios REST básicos con GET y POST



