Java 首先映射处理程序方法,但未找到
您能帮我解释一下为什么我的控制器的处理程序方法无法正确运行,即在应用程序上载期间被正确映射,但在操作阶段(例如,从日志中)找不到它们吗Java 首先映射处理程序方法,但未找到,java,spring,model-view-controller,Java,Spring,Model View Controller,您能帮我解释一下为什么我的控制器的处理程序方法无法正确运行,即在应用程序上载期间被正确映射,但在操作阶段(例如,从日志中)找不到它们吗 ... RequestMappingHandlerMapping - Mapped "{[/searchModel],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String CLASS_NAME.METHOD() ...
...
RequestMappingHandlerMapping - Mapped "{[/searchModel],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String CLASS_NAME.METHOD()
...
[main] org.apache.catalina.startup.Catalina.start Server startup in 16212 ms
...
RequestMappingHandlerMapping : Looking up handler method for path /searchModel
RequestMappingHandlerMapping : Did not find handler method for [/searchModel]
...
这是缺少配置的问题,还是代码中的问题更深
控制器代码
@Controller
public class SearchModelController {
...
@Autowired
private SearchModelDAO searchModelDAO;
...
@RequestMapping(value = "/searchModel", method = RequestMethod.GET)
public String METHOD()
{
return "searchModelForm.html";
}
...
除了方法和两个@Autowired之外,控制器的代码中没有太多内容。所有必要的进口都完成了
应用程序main是用
@SpringBootApplication
public class Application extends SpringBootServletInitializer
{
@SuppressWarnings("resource")
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application)
{
new ClassPathXmlApplicationContext("CONTEXT.xml");
return application.sources(Application.class);
}
CONTEXT.xml是
<!-- <?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:tx="http://www.springframework.org/schema/tx"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-4.0.xsd">
<context:component-scan base-package="..., ..., ..."/>
<context:annotation-config/>
<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping" />
<bean class="org.springframework.context.annotation.CommonAnnotationBeanPostProcessor"/>
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>
<tx:annotation-driven transaction-manager="transactionManager"/>
...
...
xml是
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<display-name>...</display-name>
<servlet>
<servlet-name>mvc-dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value></param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value></param-value>
</context-param>
...
mvc调度器
org.springframework.web.servlet.DispatcherServlet
上下文配置位置
1.
mvc调度器
/
上下文配置位置
代码在Eclipse下使用Maven编译并生成WAR包。然后我将.war放入ApacheWebApps目录并启动apache
谢谢正如Nathan提到的,您需要在问题中包含代码。另外,请检查searchModel是否未发布。HandlerMapping映射的url是一个GET方法。请提供有关您的web上下文路径的详细信息,以及您尝试访问的完整url。我尝试访问。什么是“web上下文路径”?正如Nathan提到的,您需要在问题中包含代码。另外,请检查searchModel是否未发布。HandlerMapping映射的url是一个GET方法。请提供有关您的web上下文路径的详细信息,以及您尝试访问的完整url。我尝试访问。什么是“web上下文路径”?