2013-02-27 3 views
1

Я использую Spring MVC 3.1 со следующей передней конфигурации контроллера:Spring MVC устранить * .html шаблон

<servlet> 
     <servlet-name>paymentSystemServlet</servlet-name> 
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
     <init-param> 
      <param-name>contextConfigLocation</param-name> 
      <param-value>/WEB-INF/spring/servlet-config.xml</param-value> 
     </init-param> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>paymentSystemServlet</servlet-name> 
     <url-pattern>*.html</url-pattern> 
    </servlet-mapping> 

Потому что у меня есть картина, как "* .html" Я должен сделать следующую вещь. Мне нужно расширение html во всем моем url для контроллера (например, «a href =/admin.html» перехватывает контроллер с отображением запроса/admin). Могу ли я настроить некоторый url-шаблон, чтобы избежать расширения html в моем URL-адресе? Спасибо.

ответ

3

По отображению DispatcherServlet к /, вы можете использовать его в качестве сервлета по умолчанию, и он будет нести ответственность за обработку всех запросов, включая HTML, HTM и т.д.

<servlet-mapping> 
     <servlet-name>spitter</servlet-name> 
     <url-pattern>/</url-pattern> 
</servlet-mapping> 

Или вы можете использовать Spring MVC 3. x default servlet handler, чтобы выполнить эту работу. Просто добавьте это в конфигурацию Spring XML.

<mvc:default-servlet-handler/> 
+0

Thank you, slashdot. Теперь все внутренние страницы работают нормально, но у меня есть стартовая страница/login и раньше, когда у меня есть мой <приветственный файл-список>, например, /login.html. Я пытаюсь войти в свое приложение, скажем, http: // localhost: 8080/it перенаправлено меня на странице входа отлично. Теперь, когда я пытаюсь ввести такой вид, у меня есть ошибка 404 (и мне нужно ввести manualy по http: // localhost: 8080/login) – sidlejinks

+0

Tomcat требует, чтобы index.html фактически существовал в файловой системе, иначе он отправляет 404 ответ на запросы /. У вас есть следующее в вашем конфиге: index.html slashdot

+0

Я решил эту проблему по карте одной из мои пусковые контроллеры к пути//. Спасибо – sidlejinks

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