Я работаю над приложением Spring , используя Tomcat 6 и Spring 2.5 . Я пытаюсь получить правильное сопоставление URL. То, что я хотел бы иметь работу, является следующим:
http://localhost:8080/idptest -> doesn't work
Но вместо этого я должен ссылаться на имя контекста в своем URL, чтобы разрешить сопоставление:
http://localhost:8080/<context_name>/idptest -> works
Как я могу избежать требования ссылки на имя контекста в моем URL без использования механизма перезаписи / прокси, например, Apache
Вот определение и отображение сервлета из моего web.xml:
<servlet>
<servlet-name>idptest</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/conf/idptest.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>idptest</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
Вот схема моего контроллера (показаны аннотации для сопоставления запросов):
@Controller
@RequestMapping("/idptest")
public class MyController {
@RequestMapping(method=RequestMethod.GET)
public String setupForm(Model model){
MyObject someObject = new MyObject();
model.addAttribute("someObject", someObject);
return "myform";
}
@RequestMapping(method = RequestMethod.POST)
public String processSubmit(@ModelAttribute("someObject") MyObject someObject) throws Exception {
// POST logic...
}
}
Спасибо!