2010-05-24 151 views
1

我是Spring MVC 3.0的新手,并试图写一个示例webapp来获得它的感觉。我能得到的网址叫我相关的控制器,但不能转寄请求从我的jsp资源通过浏览器上的输出指示:spring3.0 mvc问题(请求的资源不可用)

所请求的资源 (/ Spring30HelloWorld/helloworldcontroller) 不可用。

有关修复这个问题的建议,我们将不胜感激!请参阅下面的代码设置。

在此先感谢!

web.xml中(位置:/的WebContent)

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
id="WebApp_ID" version="2.5"> 
<display-name>Spring30HelloWorld</display-name> 
<servlet> 
    <servlet-name>A</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 
<servlet-mapping> 
    <servlet-name>A</servlet-name> 
    <url-pattern>*.htm</url-pattern> 
</servlet-mapping> 
<welcome-file-list> 
    <welcome-file>index.htm</welcome-file> 
</welcome-file-list> 
</web-app> 

A-servlet.xml中(位置:/的WebContent/WEB-INF /)

<?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:p="http://www.springframework.org/schema/p" 
xmlns:context="http://www.springframework.org/schema/context" 
xsi:schemaLocation=" 

http://www.springframework.org/schema/beans 

http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 

http://www.springframework.org/schema/context 

http://www.springframework.org/schema/context/spring-context-3.0.xsd"> 


<context:component-scan base-package="com.controller" /> 
</beans> 

HelloWorldController.java(位置:/ SRC/COM /控制器)

package com.controller; 
import org.springframework.stereotype.Controller; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.portlet.ModelAndView; 


@Controller 
public class HelloWorldController { 

@RequestMapping("/helloWorld") 
public ModelAndView sayHello() { 
    System.out.println("hello!"); 
    //return new ModelAndView("helloworld.jsp", "hello", "hello"); 
    return new ModelAndView("helloworld.jsp"); 
} 

} 

的helloWorld.jsp(位置:/的WebContent /)

<html> 
<head> 
<title>Hello World</title> 
</head> 
<body> 
<h1>Simple Spring 3.0 Web App</h1> 

<p></p> 
</body> 
</html> 

回答

3

你的* .htm映射你的servlet

变化

@RequestMapping("/helloWorld") 

@RequestMapping("/helloWorld.htm") 

,并键入/A/helloworld.htm

此外,你可以阅读Spring MVC框架online doc

+0

我现在发现问题了。 ModelAndView的名称空间应该是servlet而不是portlet。无论如何感谢您的反馈! – Daniel 2010-05-24 16:22:52