miércoles, 24 de junio de 2020

Proyecto web curso Spring Pildoras Informáticas con Visual Studio Code

Al hacer el proyecto web del curso de Spring de Píldoras Informáticas con Visual Studio Code me he encontrado con varios problemas. Todavía lo estoy haciendo y aún estoy resolviendo los problemas que me surgen. A medida que los vaya resolviendo iré actualizando está página.

Empecemos por el primer problema:

Crear un proyecto web dinámico en java con VSCode.

Lo resolví en VSCode creando un proyecto maven (Create Maven Project). Ctl+Shift+P y create maven project. Después seleccionamos un arquetipo (Archetype), para ello pulsamos en More, que es la primera entrada que aparece después de seleccionar maven. Para no buscar entre tantos, tecleamos servlet y seleccionamos Servlet31-archetype-webapp, por lo menos yo seleccioné ese.  Lo demás es fácil, en el group_id no hace falta que introduzcamos la lista de paquetes que dice en el tutorial, ya que no lo crea como hace Spring boot.

El siguiente problema que me encontré fue cómo correr tomcat directamente en VSCode.

Pues instalamos la extensión tomcat for java. En ella tenemos que indicar el tomcat que vamos a utilizar. Una vez tengamos nuestro código tenemos que crear el fichero .war. Para ello abrimos la carpeta del proyecto en un terminal (en el de VSCode por ejemplo) y ejecutamos el siguiente comando:

mvn clean package

Una vez creado el .war vamos al archivo que debe estar en la carpeta target. Y en ella pulsamos botón derecho del ratón, y pulsamos en Run on Tomcat Server. Nos vamos al apartado TOMCAT SERVERS en el explorador y al pulsar con botón derecho del ratón pulsamos en Open in Browser. Y se abrirá en el navegador.

Otro problema más fue la configuración de los archivos web.xml y spring_mvc_servlet.xml:

Para ello sustituimos el web.xml del proyecto por el que descargamos del curso.
Y en el archivo spring_mvc_servlet.xml tenemos que hacer unos cambios. En la línea:

<context:component-scan base-package="controller" />

puse que escaneara el paquete controller, ya que es ahí es donde metí los controladores como HolaAlumnosController.java.

El último problema hasta hoy (24/6/2020) ha sido los recursos estáticos como css o imágenes:

Para ello en spring_mvc_servlet.xml la etiqueta de mvc:resources queda así:

<mvc:resources mapping="/recursos/**" location="/WEB-INF/recursos/" cache-period="1" />

Otra cosa muy importante es que como es un proyecto Maven, hay que descargar las dependencias, las que uso son por ahora:

<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>7.0.0.Alpha3</version>
</dependency>

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.7.RELEASE</version>
</dependency>
<dependency>

con fecha de 26/6/2020.

Hasta hoy son los problemas que he encontrado.

No hay comentarios:

Publicar un comentario