Un punto importante para poder deployar a GlassFish desde IntelliJ es ejecutar IntelliJ como administrador, de lo contrario el log de glassfish nos llevara a un error que ronda el no poder crear un subdirectorio de cache.
Pasos Simplificados:
- Se crea un proyecto Maven con estas características:
<groupId>com.bext</groupId> <artifactId>Spring4webMVCMavenNoXML</artifactId> <version>1.0</version> <packaging>war</packaging>
con nombre de proyecto "Spring4webMVCMavenNoXML".-Agregamos las siguientes dependencias al POM.XML
<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.0.1.RELEASE</version> </dependency> <dependency> <groupId>javax</groupId> <artifactId>javaee-web-api</artifactId> <version>7.0</version> <scope>provided</scope> </dependency> </dependencies>- Creamos el archivo com.bext.controller.HomeController.java en src/main/java
- Creamos un archivo home.jsp en la ruta src/main/webapp
- A diferencia de configurar con archivos XML, aquí configuraremos spring con java,crearemos las tres siguientes clases java para configurar sin XML. en src/main/java
com.bext.config.WebInit
package com.bext.config; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer; @Configuration
public class WebInit extends AbstractAnnotationConfigDispatcherServletInitializer{ protected Class<?>[] getRootConfigClasses() { return new Class[]{RootConfig.class}; } protected Class<?>[] getServletConfigClasses() { return new Class[]{WebConfig.class}; } protected String[] getServletMappings() { return new String[]{"/"}; } }com.bext.config.WebConfig
package com.bext.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; import org.springframework.web.servlet.view.InternalResourceViewResolver; @Configuration
@EnableWebMvc
@ComponentScan("com.bext") public class WebConfig extends WebMvcConfigurerAdapter{ @Bean
public InternalResourceViewResolver resolver() { InternalResourceViewResolver viewResolver = new InternalResourceViewResolver(); viewResolver.setPrefix("/"); viewResolver.setSuffix(".jsp"); return viewResolver; } }com.bext.config.RootConfig
package com.bext.config; import org.springframework.context.annotation.Configuration; @Configuration
public class RootConfig { }-Configuramos el App Server para el proyecto que será Glassfish
- y el resultado
Notese que no existe archivo de configuración web.xml.
No hay comentarios:
Publicar un comentario