【问题标题】:@RequestMapping servlet not being found找不到@RequestMapping servlet
【发布时间】:2012-05-23 18:37:36
【问题描述】:
我有一个这样定义的控制器注释:
@RequestMapping(value = "/myServlet" , method = RequestMethod.GET)
public @ResponseBody String performAction() {
return "success";
}
这个 servlet 正在通过 ajax 请求调用。
但是由于某种原因,这个请求没有被映射。当我尝试通过 URL 直接导航到 servlet 时,找不到它。没有错误被抛出。我只是在寻找一些关于如何找出我的问题可能是什么的指示?
【问题讨论】:
标签:
spring
http-status-code-404
spring-3
jetspeed2
【解决方案1】:
您是否将控制器添加到 dispatcher-servlet.xml(或您使用的任何名称)?
至少,对于每个控制器,你应该有类似的东西
<bean name="contollerName" class="package.ControllerName"/>
【解决方案2】:
您是否已将注释 @Controller 放在控制器类的顶部,您已在其中放置了 RequestMapping 的此方法?
如果是,请确保您没有忘记在 xml 中很好地扫描您的控制器包。
您的问题有很多猜测。请多放一些代码让其他人更好地理解问题。
希望对你有所帮助。
干杯。
【解决方案3】:
如果你使用注解,你应该指定 spring 它应该扫描哪些包
<context:component-scan base-package="your package" />
【解决方案4】:
如果你使用@configuration,一定要扫描你的控制器所在的包:
@配置
@ComponentScan(basePackages = "org.xxxx.web")