[J2EE] Dynamiczne mapowanie adresów URL

0

Witam,

Nie mogę znaleźć sposobu, aby dynamicznie zmapować adres URL np: http://www.test.pl/artykul,wprowadzenie-do-j2ee.123.html na konkretny servlet (coś ala mod_rewrite). Szukałem w internecie rozwiązania i co prawda natrafiłem na projekt: http://tuckey.org/urlrewrite/ ale nie do końca jestem do niego przekonany np jak się ma integracja z frameworkami tj Struts czy Spring. Proszę o dobrą radę, czego najlepiej użyć, żebym nie wynajdywał koła na nowo (dopiero się uczę)

Pozdrawiam
deallas

0

Cześć!

Co chcesz konkretnie uzyskać?

Jeśli chcesz, żeby każdy adres o postaci np. www.mojastrona.pl/ksiazki/[dowolne strony] był przetwarzany przez jakiś servlet, to chyba da się to zrobić przy pomocy url-mapping, w deskryptorze wdrożenia aplikacji www. (plik web.xml)

Pozdrawiam.

0

O servlet-mapping wiem, ale nie można za jego pomocą skorzystać z wyrażeń regularnych, aby mi ładnie sparsował adres np: : http://www.test.pl/artykul,wprowadzenie-do-j2ee.123.html do konkretnych wartości:

  • servlet - ...
  • nazwa artykułu - wprowadzenie-do-j2ee
  • id artykułu - 123
    i żebym mógł je później odczytać w servlecie choćby poprzez getParametr().
0

Mapowanie servletów nie musi używać wyrażeń regularnych.

<servlet-mapping>
  <servlet-name>ArticleServlet</servlet-name>
   <url-pattern>/artykul*</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>ForumServlet</servlet-name>
<url-pattern>/forum*</url-pattern>
</servlet-mapping>

Wyciąganie id/nazw możesz zrobić w filtrze z mapowanie /*.

<filter-mapping>
  <filter-name>URLPreprocessor</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

Filtr ten powinien wyciągać potrzebne informacje z URLa i umieszczać je w atrybutach w zakresie żądania (request). Jest to lepsza opcja niż ustawianie parametrów.

1 użytkowników online, w tym zalogowanych: 0, gości: 1