powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / using filter with Struts
3 сообщений из 3, страница 1 из 1
using filter with Struts
    #33647673
3181Kirill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ!Помогите разобраться! мне нужно сделать фильтр на страницу welcome.jsp, когда в IExplorer набираю url http://localhost:8080/Project/pages/welcome.jsp

в struts-config.xml

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
   <action-mappings>
        <action path="/LoginSubmit"
               name="loginForm"
               type="test.app.LogonAction"
               validate="true"
               input="/pages/login.jsp">
        <forward name="welcome" path="/pages/welcome.jsp"/>
        <forward name="failure" path="/pages/failure.jsp"/>
        </action>
   </action-mappings>
в web.xml

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
       <filter>
            <filter-name>MyAuthFilter</filter-name>
            <filter-class>test.filter.AuthFilter</filter-class>
        </filter>

        <filter-mapping>
            <filter-name>MyAuthFilter</filter-name>
      <!--<url-pattern>/LoginSubmit.do</url-pattern>-->
            <url-pattern>/pages/welcome.jsp</url-pattern>
        </filter-mapping>

но фильтр работает только с закоментированной строкой(/LoginSubmit.do или .jsp).
Как мне сделать, чтобы фильтр срабатывал , когда ввожу строку в эксплорере
http://localhost:8080/Project/pages/welcome.jsp
...
Рейтинг: 0 / 0
using filter with Struts
    #33647689
RTFM или Servlets Specification 2.4:
web-app_2_4.xsd
The dispatcher has four legal values: FORWARD, REQUEST, INCLUDE, and ERROR. A value of FORWARD means the Filter will be applied under RequestDispatcher.forward() calls. A value of REQUEST means the Filter will be applied under ordinary client calls to the path or servlet. A value of INCLUDE means the Filter will be applied under RequestDispatcher.include() calls. A value of ERROR means the Filter will be applied under the error page mechanism. The absence of any dispatcher elements in a filter-mapping indicates a default of applying filters only under ordinary client calls to the path or servlet.

У тебя три варианта. Либо:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
   <action-mappings>
        <action path="/LoginSubmit"
               name="loginForm"
               type="test.app.LogonAction"
               validate="true"
               input="/pages/login.jsp">
        <forward name="welcome" path="/pages/welcome.jsp" redirect="true"/>
        <forward name="failure" path="/pages/failure.jsp"/>
        </action>
   </action-mappings>
Либо:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
       <filter>
            <filter-name>MyAuthFilter</filter-name>
            <filter-class>test.filter.AuthFilter</filter-class>
        </filter>

        <filter-mapping>
            <filter-name>MyAuthFilter</filter-name>
      <!--<url-pattern>/LoginSubmit.do</url-pattern>-->
            <url-pattern>/pages/welcome.jsp</url-pattern>
            <dispatcher>REQUEST</dispatcher>
            <dispatcher>FORWARD</dispatcher>
        </filter-mapping>
Либо перейти на версию 2.3. Там поведение было другое - фильтры вызывались всегда.
...
Рейтинг: 0 / 0
using filter with Struts
    #33647761
3181Kirill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пасибо Ненавижу регистрацию !!!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / using filter with Struts
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]