Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> все jsp через один сервлет 
:(
    Опции темы
Ulysses4j
Дата 26.1.2008, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 304
Регистрация: 6.6.2007
Где: Ростов-на-Дону

Репутация: 1
Всего: 10



Да, вероятно, справедливое замечание. Просто я в свое время делал так (у меня все валидные пути апликации были с расширением .html ):
Код
    <servlet-mapping>
        <servlet-name>myFrontController</servlet-name>
        <url-pattern>*.html</url-pattern>
    </servlet-mapping>
    
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

— web.xml
Код
<%@ include file="/WEB-INF/jsp/include.jsp" %>
<c:redirect url="/index.html"></c:redirect>

— index.jsp, которая лежала в корне апликации (все остальные .jsp — в WEB-INF/jsp, хотя, как мы видели, Sun рекомендует использовать WEB-INF/classes для своих папок, но это, очевидно, непринципиально). Вот слово "редирект" из меня и вылезло...

Это сообщение отредактировал(а) Ulysses4j - 26.1.2008, 23:14


--------------------
Communication is critical to the job of a programmer.
C. Jazdzewski. Fatherly Advice To New Programmers
PM MAIL WWW   Вверх
NikitOS9
Дата 27.1.2008, 04:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 6.12.2007

Репутация: 1
Всего: 1



Цитата(XEugene @ 26.1.2008,  21:16)
Цитата(NikitOS9 @  26.1.2008,  20:28 Найти цитируемый пост)
я хотел чтобы все jsp, даже не все, а те что мне нужно, ходили через BaseServlet, а например сервлеты и другие jsp через другой.. 
Тут ведь упоминали уже фильтры... Напиши по фильтру на каждую нужную jsp и не мучайся.

Только тогда вариант размещения jsp в WEB-INF не пройдёт.  Так делают когда хотят исключить возможность прямого доступа к jsp,  чтобы попасть на неё можно было только через вышеупомянутый FrontController. Так сделано, например,  в Spring.

написать фильтр для каждой jsp, это тоже можно, но зачем писать для каждой.. 

читаю <param-value> у запрашиваемой jsp, потом делаю в сервлете BaseServlet на который ссылается эта jsp форвард.
я просто не могу понять почему не работает мой вариант.. ?
PM MAIL   Вверх
XEugene
Дата 27.1.2008, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 116
Регистрация: 1.1.2008

Репутация: 1
Всего: 2



Цитата(NikitOS9 @  27.1.2008,  04:22 Найти цитируемый пост)
написать фильтр для каждой jsp, это тоже можно, но зачем писать для каждой.. 

читаю <param-value> у запрашиваемой jsp, потом делаю в сервлете BaseServlet на который ссылается эта jsp форвард.
Не совсем понял,  как это сделать.   У меня не получилось замапить несколько урлов на один фильтр.  Все jsp или все htm это пожалуйста,  а вот только определенный урлы...

Добавлено @ 12:29
С param-value все ясно,  а вот как сделать,  чтобы фильтр обрабатывал только урлы вида /url1 и url2,  или url1.jsp и url2.jsp.   У меня не получилось. 
а,  ты сейчас про свой вариант говорил,  а мне опять фильтры померещились) 

Это сообщение отредактировал(а) XEugene - 27.1.2008, 21:52
PM MAIL   Вверх
v2v
Дата 28.1.2008, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: 9
Всего: 56



Цитата(XEugene @  26.1.2008,  22:50 Найти цитируемый пост)
Только я всё-таки позволю себе тут влезть  smile  - 
то, что показал v2v это форвард,  а не редирект. Это не одно и то же.  

скажите а как можно с помощью редиректа попасть на закрытые jsp страницы размещённые в WEB-INF\jsp? 


--------------------
PM   Вверх
XEugene
Дата 28.1.2008, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 116
Регистрация: 1.1.2008

Репутация: 1
Всего: 2



А где я предлагал попадать туда с помощью редиректа?


Цитата(Ulysses4j @  26.1.2008,  22:12 Найти цитируемый пост)
С редиректом v2v точно написал
Я просто поправил.

PM MAIL   Вверх
Ulysses4j
Дата 28.1.2008, 18:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 304
Регистрация: 6.6.2007
Где: Ростов-на-Дону

Репутация: 1
Всего: 10



v2v, напрямую — не знаю, я привел пример: редиректом можно выйти на сервлет (aka FrontController), который редндерит view с помощью jsp's из WEB-INF/jsp (в примере написан редирект на index.html, которой физически не существует, но исходя из расширения .html запрос передается сервлету). На всех jsp все ссылки имеют такой вид, что обрабатываются тем же сервлетом (в моем примере - с расширением .html). Я, кстати, думаю, что редиректом (<c:redirect>)можно и напрямую переходить в WEB-INF/jsp, без сервлета, потому что в этом случае ресурс из скрытой для клиента папки запрашивает не клиент, а самая что ни на есть апликация — jsp, на которой редирект размещен. Но только что в этом толку: один раз перешел и все. Дальше-то делать нечего - кроме как той страницы, на которую редирект изначально прописан, попасть никуда нельзя.


--------------------
Communication is critical to the job of a programmer.
C. Jazdzewski. Fatherly Advice To New Programmers
PM MAIL WWW   Вверх
v2v
Дата 28.1.2008, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: 9
Всего: 56



Цитата(Ulysses4j @  28.1.2008,  18:58 Найти цитируемый пост)
Я, кстати, думаю, что редиректом (<c:redirect>)можно и напрямую переходить в WEB-INF/jsp, без сервлета, потому что в этом случае ресурс из скрытой для клиента папки запрашивает не клиент, а самая что ни на есть апликация — jsp, на которой редирект размещен.

вообщето нельзя .. только что проверил ... я ж поетому и использовал форвард, а не редирект, и поэтому же мне стало интересно чем же они отличаются ...


--------------------
PM   Вверх
XEugene
Дата 28.1.2008, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 116
Регистрация: 1.1.2008

Репутация: 1
Всего: 2



Цитата(Ulysses4j @  28.1.2008,  18:58 Найти цитируемый пост)
Я, кстати, думаю, что редиректом (<c:redirect>)можно и напрямую переходить в WEB-INF/jsp, без сервлета, потому что в этом случае ресурс из скрытой для клиента папки запрашивает не клиент, а самая что ни на есть апликация — jsp, на которой редирект размещен. 
Неправильно думаете.  Редирект - это перенаправление браузера на данный урл, так что запрашивает страницу самый что ни на есть клиент.

PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0472 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.