尝试升级到Spring4无xml配置的webapp



我正在尝试用Spring 4构建一个没有任何xml文件配置的hello-world WebApp原型。

然后我使用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;
}
}

和web初始化器类:

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.

该死。。我没有下载示例,我只是在eclipse中复制代码。。。我没有maven项目,我使用maven只是为了解决依赖关系(在配置->转换为maven项目之后,我创建了一个动态Web项目(,而不是通常在服务器上运行它。我有许多项目建立如上所述的Spring4是完美的工作。

我不知道为什么我不能推出这个。代码很简单,功能不依赖于maven配置。。

谢谢

以下URL 的代码运行良好

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

请检查您的URL

最新更新