【发布时间】:2012-04-20 19:14:59
【问题描述】:
我正在尝试让一个非常简单的 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";
}
works-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 发布为 ServletContext 属性,名称为 [org.springframework.web.servlet.FrameworkServlet.CONTEXT.works ]
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 是否无法识别控制器中的注释?如果没有,这个简单的设置可能有什么问题?
感谢您的任何帮助或建议, 狡猾的
【问题讨论】:
标签: spring-mvc