我已经用这个模式/*设置了一个servlet,但是我得到了一个404错误,即使是获取index.jsp文件,我认为/*可以匹配任何模式,代码是正确的,因为它可以与*.html一起工作
web.xml
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>main</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>main</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>这个控制器
package com.tutorial.ejemplospring.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class MainController {
@RequestMapping("/main.html")
public ModelAndView mainPage() {
return new ModelAndView("main");
}
@RequestMapping("/second.html")
public ModelAndView secondPage() {
return new ModelAndView("second");
}
}发布于 2016-11-12 01:34:52
/*是一个详尽的模式,通常您将使用此模式映射筛选器,在此模式中,您希望所有请求在到达您的dispatcher之前向下传递到筛选器。
正如@JB Nizet解释的那样,/*也将匹配/index.jsp,因此它被路由到dispatcher,但dispatcher不知道如何处理它。second.html仍然通过dispatcher,但不知道要做什么,这会将您带到正确的jsp页面。
https://stackoverflow.com/questions/40553073
复制相似问题