Если ваш сервер находится в папке http://localhost/AppName/
и вы перенаправляете на индекс с помощью
<p><a href = "/create">New topic</a></p>
вы получите http://localhost/create
вместо http://localhost/AppName/create
.
Второе:
У меня была такая же проблема, как вы описали здесь, и она была решена, как только я сопоставил представления с расширениями.
Так что в моем случае:
@RequestMapping(value = "/create.html", method = RequestMethod.GET)
public ModelAndView Create(Locale locale, Model model)
{
return new ModelAndView("create");
}
и ваш диспетчерский сервер должен быть:
<servlet>
<servlet-name>SomeServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>SomeServlet</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
Может быть, это не поможет, но просто попробуйте. Я не могу объяснить, почему это произошло, но это просто решило мою проблему.