Tutorial de criação de um Hello World com o Spring MVC

Esse tutorial lhe fornece uma ampla visão de como desenvolver um aplicação web simples usando o Spring. Após completar esse tutorial, você será capaz de criar projetos web MVC simples usando o Spring. Aqui usaremos ‘Controller’ e SimpleUrlHandlerMapping para o mapeamento das URLs com os controladores. Criaremos um exemplo do tipo Hello World passo a passo. Faremos uso da versão 3.1.0 do Spring.

1.    Bibliotecas mínimas necessárias para o MVC web

As bibliotecas abaixo são os requisitos mínimos para nosso tutorial. Inclua esses bibliotecas em seu projeto.

org.springframework.asm-3.1.0.RELEASE.jar
org.springframework.beans-3.1.0.RELEASE.jar
org.springframework.context.support-3.1.0.RELEASE.jar
org.springframework.context-3.1.0.RELEASE.jar
org.springframework.core-3.1.0.RELEASE.jar
org.springframework.expression-3.1.0.RELEASE.jar
org.springframework.web.servlet-3.1.0.RELEASE.jar
org.springframework.web-3.1.0.RELEASE.jar

2.    Creating JSP

No diretório WebRoot criaremos um arquivo jsp (index.jsp) que irá redirecionar para a visão index.html.

<jsp:forward page="index.html"></jsp:forward>

Como index.html não existirá em seu diretório da aplicação web, mas a saída será renderizada a partir de um JSP simple.jsp que fica sob o diretório WEB-INF/jsp. As páginas localizadas dentro desse diretório ficam protegidas do acesso público; assim isso fornece um bom mecanismo de proteção para as visões.

o código para simple.jsp é:

<html>
<head>
<title>Hello World Example of Spring 3.1</title>
</head>
<body>
<h1>Hello, You are successfully DONE! spring MVC 3.1 First Tutorial.</h1>
</body>
</html>

3.    Configuração do web.xml

Agora crie uma entrada no arquivo web.xml para rotear requisições de URL terminadas em “.html” para o DispatcherServlet do Spring e para a visão apropriada que tenha o modelo para renderização através do Controller.

A entrada a seguir no web.xml envia todas as requisições terminadas com “.html” para o DispatcherServlet que possui um Beans configurado usando dispatcher-servlet.xml.


<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>

4.    Configuração do dispatcher-servlet.xml

Agora crie um arquivo dispatcher-servlet.xml no diretório WEB-INF. Esse xml é o arquivo de configuração do WebApplicationContext Bean. Ele possui entradas para todos os Beans.


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean>
<property name="mappings">
<value>
/index.html=indexController
</value>
</property>
</bean>
<bean id="indexController"/>
</beans>

Nesse exemplo, configuramos 2 Beans: um para UrlMapping e outro para o Controller. O primeiro, SimpleUrlHandlerMapping , mapeia as referências de ‘/index’ para o RefBean ‘indexController’. E o segundo é a definição do Controller que retornará o Modelo e Visão.

5.    Criando o HelloController

Crie um controlador que retornará os componentes do Modelo e Visão que serão renderizados.

O código para o HelloController é dado a seguir e fica sob o pacote ‘com.hsj.spring’.

package com.hsj.spring;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

public class HelloController implements Controller{

public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {

return new ModelAndView(“/WEB-INF/jsp/simple.jsp”);
}
}

Baixe o código fonte do Hello World Spring MVC.

Fonte: http://www.howstuffjava.com/spring/spring-mvc/hello-world-mvc.jsf