Proyecto-plantilla para Ingeniería Web UCM, curso 2015-16
Este proyecto está pensado para ejecutarse sobre Spring STS v3.6.1. Probablemente funcione bien con versiones posteriores.
La plantilla rompe con la de un Spring MVC Proyect tradicional, y en su lugar usa Spring Boot para
- simplificar mucho la gestión de dependencias en el pom.xml
- permitir empaquetar la aplicación para uso sin servidor externo (vía
mvn clean package && java -jar target/iw-1.0.0-BUILD-SNAPSHOT.war
); es decir, generawar
con tomcat embebido. - simplificar mucho la configuración del acceso a BD (único fichero:
application.properties
) - mejorar seguridad
Puedes lanzarla de 3 formas:
- desde línea de comandos:
mvn clean package && java -jar target/iw-1.0.0-BUILD-SNAPSHOT.war
- desde STS con el servidor embebido, vía
Run As > Spring Boot
- desde STS con el servidor de STS, vía
Run As > Web app
(podrás cambiar JSPs, Controladores sin recargar)
Es fácil lanzar pruebas unitarias con mvn test
:
Incluye un sistema de login relativamente seguro (aunque tendrás que verificar roles en la sesión / proteger contra CSRF manualmente).
Descarga la plantilla usando git desde una línea de comandos:
git clone https://github.com/manuel-freire/iw.git
Esto la descargará a una carpeta iw
.
Asumiremos que estás en una carpeta en la que tienes viejo
(tu código que no usa esta plantilla) e iw
(la plantilla). Asumo que la estructura de paquetes es similar en ambos (es.fdi.iw
) - modifica los comandos si no es así.
- cierra el STS, y borra sus ficheros (luego los regenerarás):
rm -rf viejo/.settings viejo/.classpath viejo/.project
- copia los ficheros esenciales de la plantilla a tu proyecto
cp iw/pom.xml viejo && cp iw/src/main/webapp/WEB-INF/web.xml viejo/src/main/webapp/WEB-INF/ && cp -r iw/src/main/java/es/fdi/iw/*.java viejo/src/main/java/es/fdi/iw
- modifica el
name
y elartifactId
de tu proyecto editando tu pom.xml (están en las líneas 6 y 7 ), de forma que coincidan con el nombre que has elegido. - mueve tu controlador de sitio: tiene que estar en un subpaquete de
es.fdi.iw
; recomiendoes.fdi.iw.controller
- ya puedes importar el proyecto en STS como un
maven project
. - usa
meld
para incorporar aspectos del controlador de la plantilla en tu propio controlador:meld iw viejo
; o pruebas unitarias, o lo que veas oportuno. - modifica las clases del modelo (
es.fdi.iw.model
) a tu gusto
Abre issues si quieres que añada cosas concretas o ves errores; sube pull requests si se te ocurre cómo añadirlas/solucionarlos (sube nota!).