com direito no projeto e selecionar properties ou utilizar o atalho Alt + Enter com o projeto selecionado.selecionar o item Java Compiler e entao selecionar a JDK compliance level de acordo com o que for adequado para seu projeto. No meu caso utilizo a JDK 1.6 (ver figura 7).Figura 7agora selecione Project Facets conforme mostrado na figura 8. Selecione o link: Convert to faceted form...Figura 8 selecione Dynamic Web Module e a versao adequada. (Selecionei a versao 2.5).aplicar as modificacoesAgora ja e possivel adicionar o projeto no eclipse clicando no server + add and remove. Tente iniciar o servidor e entao tente abrir a aplicacao no browser...HTTP Status 404 - /finank/Agora lascou! Esse e o momento de maior marotagem aqui.A grande MarotagemPara resolver isso, e necessario abrir o arquivo org.eclipse.wst.common.component localizado no diretorio .settings do projeto. A maneira mais facil de visualizar este arquivo e utilizar a View Navigator do eclipse.substitua source-path="/WebContent" por source-path="/src/main/webapp",salve o arquivo e botao direito no projeto: Maven, Update Project Configurations.Agora tente iniciar o servidor novamente e tente acessar a aplicacao.Pronto, a aplicacao passou a funcionar normalmente.Remova o diretorio WebContent e agora voce possui um projeto que segue todas as convencoes do Maven e e reconhecido perfeitamente pelo WTP.* caso o projeto fique com algum erro, pode ser devido a JDK Compliance que altera quando eu rodo Update Project Configurations. Basta alterar nas propriedades do projeto.Agora para ficar mais bonito, vamos criar um diretorio para os fontes do projeto web, afinal nao iremos criar tudo em jsp.Crie um diretorio java dentro de src/main e defina-o como Source Folder em propriedades do projeto.Com este projeto maroto em maos, vou aproveitar a utilizacao do maven e preparar um projeto Hello World com Spring-MVC.Adicionando o Spring-MVCAdicione as seguintes dependencias no arquivo pom.xml <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>3.1.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>3.1.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>3.1.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>3.1.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-expression</artifactId> <version>3.1.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>3.1.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>3.1.1.RELEASE</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.2.1-b03</version> </dependency> </dependencies>Crie um controller conforme a classe abaixo:package br.com.finank.controller;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 IndexController implements Controller { @Override public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { response.getWriter().write("Hello World"); return null; }}Configure o servlet DispatcherServlet que intercepta as requisicoes e descobre qual controller chamar. Esta configuracao e realizada no web.xml (Basico de web hein =P ). <servlet> <servlet-name>finank</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>finank</servlet-name> <url-pattern>*.html</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>finank</servlet-name> <url-pattern>*.tile</url-pattern> </servlet-mapping>Agora crie o xml src/main/webapp/WEB-INF/finank-servlet.xml e adicione o conteudo abaixo:<?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"xmlns:mvc="http://www.springframework.org/schema/mvc"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"> <bean id="/index.html" class="br.com.finank.controller.IndexController"> </bean></beans>Obs.: o nome do arquivo finank-servlet.xml, segue a convencao de que o nome antes de -servlet.xml deve ser o nome dado ao DispatcherServlet que foi configurado laaa no web.xml.Agora, reinicie o servidor e tente acessar a URL:http://localhost:8080/finank/index.htmlOops! Houve um problema e a root cause e:java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1711) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1556) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999) org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565) org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307) java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) java.lang.Thread.run(Thread.java:662)Quando o eclipse fez o build do projeto, ele nao considerou as dependencias que adicionamos no pom.xml.Entao... marotagem final (Essa foi a dica