我正在尝试让一个非常简单的 Spring @mvc 应用程序工作,但我遇到了似乎是映射错误的问题。
来自 web.xml:
<servlet>
<servlet-name>works</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>works</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
控制器:
@Controller
@RequestMapping("/test")
public class TESTController {
private static Logger appLogger = Logger.getLogger("AppLogFile");
public String serviceRequest( Model model)
{
appLogger.info("======================= TESTController GET ===============================");
model.addAttribute("returnString","TESTController handled the request") ;
return "SingleStringView";
}
作品-servlet.xml:
<context:component-scan base-package="com.ami.dbconnect.controller" />
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>
<bean id="TESTController" class="com.ami.dbconnect.controller.TESTController"></bean>
<!-- view resolver not shown -->
该应用程序部署到 /webapps/works 的 Tomcat 7。Tomcat文件结构为:
webapps
/works
/WEB-INF
/classes
/lib
我正在尝试使用 url 调用控制器:localhost:8080/works/test
在 tomcat7-stdout 我看到:
1106 [pool-2-thread-1] 调试 org.springframework.web.servlet.DispatcherServlet - 已发布 servlet 'works' 的 WebApplicationContext 作为名称为 [org.springframework.web.servlet.FrameworkServlet.CONTEXT.works] 的 ServletContext 属性
1106 [pool-2-thread-1] INFO org.springframework.web.servlet.DispatcherServlet - FrameworkServlet 'works':初始化在 728 毫秒内完成
1106 [pool-2-thread-1] 调试 org.springframework.web.servlet.DispatcherServlet - Servlet 'works' 配置成功
14068 [http-apr-8080-exec-2] 调试 org.springframework.web.servlet.DispatcherServlet - 名称为“works”的 DispatcherServlet 处理 [/works/test] 的 GET 请求
14071 [http-apr-8080-exec-2] 警告 org.springframework.web.servlet.PageNotFound - 在 DispatcherServlet 中找不到带有 URI [/works/test] 的 HTTP 请求的映射,名称为“works”
所以我的问题(终于!):Spring 没有识别控制器中的注释吗?如果不是,那么这个简单的设置可能有什么问题?
感谢您的任何帮助或建议,beeky