【发布时间】:2012-10-30 19:37:31
【问题描述】:
映射到控制器方法不起作用。转到 http://localhost:8080/teleseminars/telesem_live 会返回 404,这会显示在日志中:
2012-10-30 11:37:58,190 [http-8086-1] [警告] [org.springframework.web.servlet.DispatcherServlet.noHandlerFound(DispatcherServlet.java:947)] 找不到带有 URI 的 HTTP 请求的映射 [/teleseminars/telesem_live] DispatcherServlet 中的名称 '调度员'
感谢任何帮助。谢谢!
这里是控制器:
@Controller
public class TeleseminarsController {
private final Logger logger = LoggerFactory.getLogger(getClass());
@RequestMapping(value= "/teleseminars/{page}/{series}", method = RequestMethod.GET) ///{page}/{series}
public String getTele(@PathVariable("page") String page,
@PathVariable("series") String series,
HttpServletRequest request,
final Model model) {
//do stuff
return page;
}
}
我在 web.xml 上有这个
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.do</url-pattern>
<url-pattern>/teleseminars/*</url-pattern>
</servlet-mapping>
【问题讨论】:
-
为什么您的
servlet-mapping中有*.do映射?一个url-pattern和/*就足够了——然后所有请求都将被分派到Spring MVC。 -
谢谢,@romario333 - 我们使用的其他方法正在使用 .do 扩展名。这会将每个 URI 映射到 spring 调度程序,我当然不能这样做。我过去曾尝试过,它接受所有请求。所有图片、css、js、html等都被调度到Spring...
标签: java spring servlets spring-mvc