2016-04-08 146 views
0

是的,我知道 - 有这样的问题的语气。我试图扫描所有这些,但没有帮助我。 这里是我的代码:RequestMapping返回404错误

调度的servlet

<context:component-scan base-package="com.package.controller" /> 
<mvc:annotation-driven /> 
<bean id="viewResolver" 
     class="org.springframework.web.servlet.view.InternalResourceViewResolver" 
     p:prefix="/WEB-INF/jsp/" 
     p:suffix=".jsp" /> 

的web.xml

<servlet> 
     <servlet-name>dispatcher</servlet-name> 
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 

<servlet-mapping> 
    <servlet-name>dispatcher</servlet-name> 
    <url-pattern>*.do</url-pattern> 
</servlet-mapping> 

控制器

@Controller 
public class HomeController { 
@RequestMapping(value = "/hello", method = RequestMethod.GET) 
public ModelAndView hello() { 
    return new ModelAndView("index"); 
    } 
} 

文件位置

HomeController位于com.package.controller包中。

index.jsp位于WEB-INF/jsp/package中。

网址我试图访问:本地主机:8080/hello.do

我在做什么错? 感谢您的帮助!

+0

调度程序servlet xml文件的确切名称是什么? – MDaniyal

+0

MDaniyal,对不起,滑过你的问题。文件名是* dispatcher-servlet.xml * –

回答

0

我已经运行你的项目代码工作正常,你可以按照下面的项目结构?

enter image description here

+0

试图在HomeController上给@RequestMapping(“*”)。 localhost:8080/hello.do仍然无效。 感谢您的帮助,无论如何:) –

+0

没有帮助 –

+0

是您的调度程序文件名是'dispatcher-servlet.xml'吗? – MDaniyal

0

您的网址是不正确的。尝试使用localhost:8080 /“yourapplicationName”/hello.do。例如,在我的情况下,如果我的应用程序战争文件是abc.war,那么URL将是localhost:8080/abc/hello.do

+0

不,代码工作正常问题可能与项目结构有关。用这个URL“http:// localhost:9090/hello.do” – MDaniyal