在DispatcherServlet中找不到具有URI 的HTTP请求的映射,名称为“appServlet”

我遇到错误当我在JBoss上启动项目时, No mapping found for HTTP request with URI [/myappname/] in DispatcherServlet with name 'appServlet' 。 解决此处描述的另一个问题后出现此问题: 在将更改访问方法更改为会话后,“找不到当前线程的会话”

在一切正常之前。 我正在使用Apache Tiles 2.我正在阅读几个类似的问题,但我找不到工作的解决方案。

这是没有Hibernate配置的DispatcherServlet Context文件:

             /WEB-INF/tiles-definitions.xml       

我的web.xml整个文件:

     contextConfigLocation  /WEB-INF/spring/root-context.xml     org.springframework.web.context.ContextLoaderListener   org.springframework.security.web.session.HttpSessionEventPublisher    appServlet org.springframework.web.servlet.DispatcherServlet  contextConfigLocation /WEB-INF/spring/appServlet/servlet-context.xml  1   appServlet /   

这是我的IndexController

 @Controller public class IndexController { @RequestMapping(value = "/", method = RequestMethod.GET) public String index(Model model, Principal principal) { return "index"; } } 

我此时的配置有什么问题?

我认为你缺少 ,这是阅读@Controller@RequestMapping注释所必需的。 你可以在这里和这里阅读更多相关内容。

解决方案是在DispatcherServlet Context文件中保留两个annotation-driven标签,如下所示:

   

我还没有找到类似的解决方案,所以我想把它留在这里。

在你的spring servlet.xml文件中有这个

 xmlns:mvc="http://www.springframework.org/schema/mvc xmlns:tx="http://www.springframework.org/schema/tx" 

 http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd 

   

在您的控制器类中,使用

  @Controller public class IndexController {..} 

它的工作原理!

我遇到了同样的exception,正在尝试以上所有解决方案,但没有任何帮助,但我确实得到一个指针问题是因为该类没有在目标类文件夹中生成,而是由于不正确的Maven项目结构导致无法编译Java控制器类。

检查您是否具有以下结构,然后如果在target->class文件夹中生成target->class则仅尝试上述建议。

 Project src main java resources test java resources