我有一个部署在/mobile
上的webapp(基于Spring MVC)(详见下文)。问题是:
当我转到http://localhost:8080/mobile/
或http://localhost:8080/mobile/index
时,一切正常。
但是当我去http://localhost:8080/mobile
(注意到最后丢失的斜线)时,我收到404错误。为什么(以及如何修复)?
的web.xml:
<servlet>
<servlet-name>mobileServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/mobile-servlet-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mobileServlet</servlet-name>
<url-pattern>/mobile/*</url-pattern>
</servlet-mapping>
控制器:
@Controller
public class MobileAppController {
@RequestMapping({"", "/", "/index"})
public String index() {
return "/mobile/index";
}
}
答案 0 :(得分:0)
他在网址格式标记中提供了 /mobile/*
。
如果他给localhost:8080/mobile
,那么他就无法访问,因为他们没有匹配的网址。
尝试在网址模式中提供 /mobile*
..我认为它会有效。