Spring MVC-找不到URI为的HTTP请求的映射

Spring MVC-找不到URI为的HTTP请求的映射,spring,spring-mvc,jetty,http-status-code-404,url-mapping,Spring,Spring Mvc,Jetty,Http Status Code 404,Url Mapping,我知道关于这个话题有很多问题,但我在这里找到的解决方案都不适合我。 我将Spring与Jetty 6一起使用,因此没有web.xml文件。spring dispatcher servlet的映射在jetty的配置中设置为“/” 调度员: <bean class="org.mortbay.jetty.servlet.ServletHolder"> <property name="name" value="spring" /> <property nam

我知道关于这个话题有很多问题,但我在这里找到的解决方案都不适合我。 我将Spring与Jetty 6一起使用,因此没有web.xml文件。spring dispatcher servlet的映射在jetty的配置中设置为“/”

调度员:

<bean class="org.mortbay.jetty.servlet.ServletHolder">
    <property name="name" value="spring" />
    <property name="servlet">
        <bean class="org.springframework.web.servlet.DispatcherServlet" />
    </property>
    <property name="initParameters">
        <map>
            <entry key="contextConfigLocation" value="classpath:com/project/config/spring-servlet.xml" />
        </map>
    </property>
</bean>
}

读取日志似乎有效,但我发现以下错误:

在名为“spring”的DispatcherServlet中找不到URI为[/WEB-INF/pages/hello.jsp]的HTTP请求的映射


我不明白。它将“/welcome”映射到/WEB-INF/pages/hello.jsp,但它仍然表示找不到页面,而页面似乎就在那里。我将WEB-INF文件夹添加到类路径中,但它仍然是一样的。你知道为什么吗?

控制器中的请求映射路径与你的
http://your-domain/your-app/
。如果您的应用程序名为“欢迎”请使用url
http://localhost:25001/welcome/welcome
或将requestmapping更改为
@requestmapping(method=RequestMethod.GET,value=“/”)
,这样您就可以使用url
http://localhost:25001/welcome

您的hello.jsp是否直接位于WEB-INF/pages下? 您可以将Dispatcher Servlet映射更改为此并重试吗

<property name="pathSpec" value="*.html"></property>

您确定此文件包的名称正确吗

<context:component-scan base-package="com.project.web" />


您使用的url是什么?是不是
http://your-domain/your-app/welcome
?我曾经检查过这个链接:您的链接很有用,谢谢。我将dispatcherservlet的映射更改为/spring/*。现在尝试时,我没有得到“找不到映射…”错误,映射似乎正确。但是,现在日志显示:转发到InternalResourceView“hello”中的资源[/WEB-INF/pages/hello.html],之后我得到了这样的消息:Not Found/WEB-INF/pages/hello.htmlWell我不确定我是否完全理解这是如何工作的。您能否解释一下这是如何映射的,以及当dispatcherservlet(具有映射“/)接收到请求时会发生什么情况?这可能会有帮助。我尝试了你的建议,但我得到了这样的结果:当我尝试将它映射到/welcome/welcome时,当我尝试将requestmapping值从/welcome更改为/the时,它被映射到/welcome。我遗漏了什么吗?嗯,是的,看起来很奇怪,但我没有注意到。不幸的是,我无法检查它,因为我至少在一段时间内无法访问该代码库,但我认为它会起作用。
@Controller
public class HelloController {

    @RequestMapping(method = RequestMethod.GET, value="/welcome")
    public String sayHello(ModelMap model){
    model.addAttribute("message", "Spring 3 MVC Hello World");
    return "hello";
}
<property name="pathSpec" value="*.html"></property>
<context:component-scan base-package="com.project.web" />