Я бы хотел, чтобы мое приложение Spring MVC было сопоставлено со следующим расширением * html для jsp и * .action для контроллеров.
это для страницы входа:
@RequestMapping(value="/login.html", method=RequestMethod.GET)
public ModelAndView login(){
ModelAndView mv = new ModelAndView("login/login");
//omitted
return mv;
}
и это для действия:
@RequestMapping(value="/login.action", method=RequestMethod.POST)
public ModelAndView actionSignUp(@Valid User user){
//omitted
return mv;
}
и JSP прост:
<form:form method="POST" action="/login.action" commandName="user" >
<form:input path="userName" id="userName" /><br />
<form:input path="password" id="password"/><br />
<input id ="login" type="submit" value="Login"></input>
</form:form>
мой web.xml выглядит следующим образом:
<display-name>SpringMVC</display-name>
<servlet>
<servlet-name>springMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>
<servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
У меня нет проблем с получением /login.html, но у меня проблема с запросом POST на /login.action
Я получаю
HTTP-статус 404 - /login.action
Почему мое отображение для * .action не работает?
Могу ли я отобразить два разных расширения * html и * .action?