O mapeamento de solicitação de URL do Spring Controller não está funcionando como esperado
Eu criei um mapeamento em web.xml algo como isto:
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/about/*</url-pattern>
</servlet-mapping>
No meu controlador eu tenho algo parecido com isto:
import org.springframework.stereotype.Controller;
@Controller
public class MyController{
@RequestMapping(value="/about/us", method=RequestMethod.GET)
public ModelAndView myMethod1(ModelMap model){
//some code
return new ModelAndView("aboutus1.jsp",model);
}
@RequestMapping(value="/about", method=RequestMethod.GET)
public ModelAndView myMethod2(ModelMap model){
//some code
return new ModelAndView("aboutus2.jsp",model);
}
}
E o meu dispatcher-servlet.xml tem resolvedor de views como:
<mvc:annotation-driven/>
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:viewClass="org.springframework.web.servlet.view.JstlView"
p:prefix="/WEB-INF/jsp/"
p:suffix=".jsp"/>
Para minha surpresa: pedido.../about/us
não está chegando a myMethod1 no controlador. O navegador mostra erro 404. Eu coloquei um logger dentro do método, mas ele não está imprimindo nada, ou seja, não está sendo executado..../about
funciona bem! O que pode ser feito para fazer.../about/us
pedir trabalho? Alguma sugestão?