2010-04-23 2 views
1

Я работаю над пружинным приложением с использованием 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... 
    } 
} 

Спасибо!

ответ

4

Это будет зависеть от вашего контейнера сервлетов для Tomcat - вы в значительной степени должны развернуть веб-приложение в качестве корневого веб-приложение, то есть под $ CATALINA_HOME/WebApps/ROOT/

Более подробную информацию here

+0

@nos спасибо, обновил мой вопрос с контейнером и версией. –

1

Просто переименуйте свой военный файл в ROOT.war, тогда приложение запускается в корневом контексте (т.е. с пустым контекстным именем)

 Смежные вопросы

  • Нет связанных вопросов^_^