Zdravím, možná jsem nepochopil problém.

Proč prostě nenasměrovat veškeré requesty na ten dispatcher servlet a
v něm zadefinovat nějakou defaultní akci - jako že když nepřijde nic
co končí .action, tak ať to spustí tu home.action.


<servlet-mapping>
               <servlet-name>test_servlet</servlet-name>
               <url-pattern>/recenzie/*</url-pattern>
</servlet-mapping>

a teď:

- buď to to ten servlet podporuje  - netuším, do Springu jsem nekoukal
- nebo bych z toho servletu podědil svůj servlet a do něj dal něco jako

if(req.*getServletPath().endsWith(".action")){**  super.service(req,resp);
}else{** RequestDispatcher disp=
req.getRequestDispatcher("*/moja_aplikacia/recenzie/home.action
<http://localhost:8080/moja_aplikacia/recenzie/home.action>"*);
 disp.forward(req,resp);*

*}*

- a nebo si udělat ServletFilter a předřadit ho ještě před ten Servlet.
 Akorát v tom kódu nebude super.service, ale chain.doFilter(req,resp);



Z pohledu Springu by možná mohlo jít  (nezkoušel jsem):

- zadefinovat 2x mapping:

<servlet-mapping>
   <servlet-name>test_servlet</servlet-name>
   <url-pattern>*.action</url-pattern>
</servlet-mapping>

<servlet-mapping>
   <servlet-name>test_servlet</servlet-name>
   <url-pattern>/recenzie</url-pattern>
</servlet-mapping>

- a pak ve SpringContextu

<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="mappings">
            <value>
                /=homeController
                /**/home.action=homeController
            </value>
        </property>
</bean>


- apache, jiné rewrite/alias způsoby sice také fungují, ale má to jeden
problém  - je to mimo váš distribuční WAR, takže pokud nemáte deployment
plně pod kontrolou, tak je to pak problém.


2012/4/3 Oto Buchta <ta...@buchtovi.cz>

> A nebo to resit jak to resi spousta lidi - predradit Apache pred
> Tomcat. A mod_rewrite.
>
> Dne 3. dubna 2012 0:16 Petr Franta <petr.fra...@gmail.com> napsal(a):
> > 1. Můžeš si vytvořit adresář (pokud ho nemáš) "recenzie" a do něj
> > nakopírovat stejný soubor index.jsp.
> > 2. Použít nějaký redirect filter, například
> > http://code.google.com/p/urlrewritefilter/
> >
> >
> > Petr
> >
> > 2012/4/2 Ivan Polak <ivan.po...@f4s.sk>
> >>
> >> vo web.xml mam:
> >>
> >> <welcome-file-list>
> >>                <welcome-file>index.jsp</welcome-file>
> >> </welcome-file-list>
> >>
> >> a tento subor je OK, ked zadam:
> >>
> >> http://localhost:8080/moja_aplikacia
> >>
> >> natiahne sa index.jsp, obsahuje uvodnu stranku. a na nej mam odkaz na
> >> http://localhost:8080/moja_aplikacia/recenzie
> >>
> >> ako mam nadefinovat tomcat aby to bol "alias" na
> >>
> >> http://localhost:8080/moja_aplikacia/recenzie/home.action
> >>
> >>
> >> Ivan
> >>
> >> On 2 April 2012 23:09, Petr Franta <petr.fra...@gmail.com> wrote:
> >> > Doplň si do souboru web.xml:
> >> >     <welcome-file-list>
> >> >         <welcome-file>index.jsp</welcome-file>
> >> >     </welcome-file-list>
> >> >
> >> >
> >> > V rootu aplikace si vytvoř soubor index.jsp, který bude obsahovat
> >> > následující řádky pro redirect:
> >> > <%@ page contentType="text/html;charset=utf-8" pageEncoding="utf-8"%>
> >> >
> >> > <%@ taglib uri="http://java.sun.com/jsp/jstl/core"; prefix="c" %>
> >> >
> >> > <c:redirect url="home.action"/>
> >> >
> >> >
> >> > Petr
> >> >
> >> >
> >> > 2012/4/2 Ivan Polak <ivan.po...@f4s.sk>
> >> >>
> >> >> zdravim konferenciu,
> >> >>
> >> >> mam takuto otazku na konfiguraciu tomcat-u 6.x. mam aplikaciu a ked
> >> >> zadam linku http://localhost:8080/moja_aplikacia/recenzie
> >> >>
> >> >> ako mam nadefinovat tomcat aby to bol "alias" na
> >> >>
> >> >> http://localhost:8080/moja_aplikacia/recenzie/home.action
> >> >>
> >> >> este dodam, ze vo web.xml mam nasledovne:
> >> >>
> >> >> <servlet>
> >> >>                <servlet-name>test_servlet</servlet-name>
> >> >>
> >> >>
> >> >>
>  
> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
> >> >>                <init-param>
> >> >>                        <param-name>contextConfigLocation</param-name>
> >> >>                        <param-value>
> >> >>                                /WEB-INF/test-servlet.xml
> >> >>                         </param-value>
> >> >>                </init-param>
> >> >>                <load-on-startup>1</load-on-startup>
> >> >> </servlet>
> >> >>
> >> >> <servlet-mapping>
> >> >>                <servlet-name>test_servlet</servlet-name>
> >> >>                <url-pattern>*.action</url-pattern>
> >> >> </servlet-mapping>
> >> >>
> >> >> teda vsetky poziadavky *.action idu na DispatcherServlet.
> >> >>
> >> >> dakujem
> >> >>
> >> >> Ivan
> >> >
> >> >
> >
> >
>
>
>
> --
> Oto 'tapik' Buchta, ta...@buchtovi.cz, http://tapikuv.blogspot.com
>

Odpovedet emailem