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>Spring4webMVCMaven</artifactId> <version>1.0</version> aqui se le quita el SNAPSHOT que crea por default <packaging>war</packaging> esto se agrega al POM.XML
nombre del proyecto "Spring4webMVCMaven" - Agregamos la siguiente dependencia al POM.xml
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.0.1.RELEASE</version> </dependency>
- Creamos la clase com.bext.controller.HelloControler.java en src/main/java
package com.bext.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller
public class HomeController { @RequestMapping(value = "/") public String home() { return "test"; } }
- Creamos un archivo test.jsp en la ruta src/main/webapp/
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>src/main/webapp/test.jsp</title> </head> <body> src/main/webapp/test.jsp file </body>
- Cramos el archivo web.xml en la ruta src/main/webapp/WEB-INF/
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <servlet> <servlet-name>spring</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>spring</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring-servlet.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> </web-app>
- Creamos el archivo de configuracion xml de spring bajo WEB-INF con click derecho -> new -> XML Configuration File -> Spring config
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <context:component-scan base-package="com.bext" /> </beans>- Creamos el archivo de configuracion java com.bext.util.AppConfig.java en src/main/java
package com.bext.util; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer; 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
public class AppConfig extends WebMvcConfigurerAdapter{ @Bean
public InternalResourceViewResolver viewResolver() { InternalResourceViewResolver internalResourceViewResolver = new InternalResourceViewResolver(); internalResourceViewResolver.setPrefix("/"); internalResourceViewResolver.setSuffix(".jsp"); return internalResourceViewResolver; } @Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) { configurer.enable(); } }
- Configuramos el App server para este proyecto que sera Glassfish
- El resultado
No hay comentarios:
Publicar un comentario