在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