Пытается обновить до Spring4 без конфигурации xml webapp

Я пытаюсь создать небольшой привет-прототип WebApp с помощью Spring 4 без какой-либо конфигурации XML-файла.

Чем я использую Tomcat 7 и вот мой POM:

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

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>javax.servlet.jsp-api</artifactId>
        <version>2.3.1</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>
</dependencies>

Чем у меня есть этот класс конфигурации:

@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "it.spring4.configuration")
public class HelloWorldConfiguration {

    @Bean
    public ViewResolver viewResolver() {
        InternalResourceViewResolver viewResolver = new 
                 InternalResourceViewResolver();
        viewResolver.setViewClass(JstlView.class);
        viewResolver.setPrefix("/WEB-INF/views/");
        viewResolver.setSuffix(".jsp");

        return viewResolver;
    }

}

и класс веб-инициализатора:

public class HelloWorldInitializer extends 
AbstractAnnotationConfigDispatcherServletInitializer {

@Override
protected Class<?>[] getRootConfigClasses() {
    return new Class[] { HelloWorldConfiguration.class };
}

@Override
protected Class<?>[] getServletConfigClasses() {
    return null;
}

@Override
protected String[] getServletMappings() {
    return new String[] { "/" };
}

}

Контроллер:

@Controller
@RequestMapping("/")
public class HelloWorldController {

@RequestMapping(value = "/hello", method = RequestMethod.GET)
public String sayHello(ModelMap model) {
    model.addAttribute("greeting", "Hello World from Spring 4 MVC");
    return "welcome";
}

@RequestMapping(value = "/helloagain", method = RequestMethod.GET)
public String sayHelloAgain(ModelMap model) {
    model.addAttribute("greeting", "Hello World Again, from Spring 4 MVC");
    return "welcome";
}

}

и под WEB-INF представления папок, которые содержат welcome.jsp:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>HelloWorld page</title>
 </head>
 <body>
   Greeting : ${greeting}
 </body>
</html>

Это пример, найденный здесь и не работает. Я пробовал другие подобные примеры, но никто не работает.. Можете ли вы объяснить мне, если я ошибаюсь?


Извините, ошибка:

HTTP Status 404 – Not Found
Type Status Report

Message /Spring4FullAnnotation/

Description The origin server did not find a current representation for the 
target resource or is not willing to disclose that one exists.

Черт.. Я не загружаю пример, я просто копирую код в моем затмении... У меня нет проекта maven, я использую maven только для разрешения зависимостей (я создаю Dynamic Web Project после этого Configure -> Преобразовать в Maven проект), чем я обычно запускаю его на сервере. У меня есть много проектов, созданных, как описано выше, с Spring4, которые прекрасно работают.

Я не знаю, почему я не могу запустить это. Код прост и функционирование не может зависеть от конфигурации maven.

Спасибо

1 ответ

Код работает нормально для следующего URL

http://localhost:8080/Spring4MVCHelloWorldNoXMLDemo-1.0.0/

Пожалуйста, проверьте ваш URL

Другие вопросы по тегам