![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| IDVsbruck |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 778 Регистрация: 12.11.2006 Репутация: нет Всего: 22 |
На PHP-серверах есть всегда такой файлик - .htaccess, в котором можно переопределить строку, которая представляется в поле ввода адреса навигатора (возможно, терминология страдает - я со слов ...)
Есть ли возможность на java-сервере (tomcat) аналогично переопределить адресную строку? Пример: когда идет переадресация с одной страницы на другую, но с некоторым количеством атрибутов, хочется, чтобы была адресная строка определенного вида (хотя бы без атрибутов). Знаю, что вопрос решаемый, но решения найти не могу Спасибо. |
|||
|
||||
| shimopus |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 25.8.2006 Репутация: нет Всего: 1 |
Если я вас правильно понял, то конечно есть. Смотрите описание web.xml.
|
|||
|
||||
| Tony |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1159 Регистрация: 3.3.2006 Где: Riga Репутация: 6 Всего: 12 |
Как я помню htaccess закрывал доступ к ресурсам и про4ее. Ва j2ee etogo netu. Тебе надо будет написать фильтр каторый будет 4то тебе надо. Всё в ру4ную. |
|||
|
||||
| IDVsbruck |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 778 Регистрация: 12.11.2006 Репутация: нет Всего: 22 |
<servlet-mapping> - Определяет URL, которые будут выдаваться через соответствующий <servlet>, указанный в <servlet-name>, который должен соответствовать <servlet-name>, указанному в разделе <servlet>
А мне надо наоборот: чтобы не ловить маппинг, а его устанавливать. Опять же ... по аналогии с .htaccess |
|||
|
||||
| Maksym |
|
|||
![]() . ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 19.8.2005 Где: Odessa, Black Sea Репутация: 24 Всего: 62 |
IDVsbruck
Менять мэпинг налету в ходе выполнения приложения? Ты можешь создать сервлет-контроллер, который будет перехватывать все (/) запросы и дальше уже переадресовывать их на другие сервлеты или страницы. Естественно, он сможет менять правила переадресации рантайм. |
|||
|
||||
| IDVsbruck |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 778 Регистрация: 12.11.2006 Репутация: нет Всего: 22 |
Ок, это немного проясняет ...
Но все же ... можно чуть-чуть больше конкретики? - Я вокруг этой темы столько хожу, что запутал все идеи, даже самые светлые. |
|||
|
||||
| Maksym |
|
||||
![]() . ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 19.8.2005 Где: Odessa, Black Sea Репутация: 24 Всего: 62 |
Примерно так:
ServletController.java
web.xml
В строке где написано analize and modify url проводишь всю необходимую обработку. |
||||
|
|||||
| IDVsbruck |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 778 Регистрация: 12.11.2006 Репутация: нет Всего: 22 |
Ну ... не то ...
Например, вводим www.mysite.com. - маппинг перехватывает адрес и происходит выполнение service в ServletController. - getPathInfo() возвращает "/" - меняем на что хотим, например, "/main" или "/welcome.jsp" - выполняем request.sendRedirect(url) А маппинг снова перехватывает запрос! и возвращает опять в ServletController ... и так бесконечно. Кроме этого, вопрос остается нерешенным ... видимо, остался непонятым. Я хочу добиться следующего: - вводим адрес (www.mysite.com) - выполняется некий "главный" сервлет - находясь на какой-то странице, нам надо вызвать другую страницу и запрос ставится следующим образом: www.mysite.com?action=someAction&sender=lastPage&randomStr=01234567 при этом надо, чтобы выполнились соответсвующие действия, а адресная строка осталась "www.mysite.com", ни или хотя бы "www.mysite.com/" (Кстати, избавиться от слеша в конце можно?) Пока единственным решением я вижу посылку параметров методом POST, то есть отсылку формы. В этом случае строка не будет меняться (если в параметре FORM action=""). Но как-то это слишком притянуто за уши ... Да и не всегда можно отправить форму ... |
|||
|
||||
| jsa |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 704 Регистрация: 19.1.2006 Где: Новосибирск Репутация: 2 Всего: 20 |
-------------------- Все мы, на перине с песней, строим небо на земле © Ю. Шевчук |
|||
|
||||
| Maksym |
|
|||
![]() . ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 19.8.2005 Где: Odessa, Black Sea Репутация: 24 Всего: 62 |
||||
|
||||
| Vasay |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 18 Всего: 73 |
.htaccess не только закрывает доступ к ресурсам, но и позволяет делать многое другое, например, активно применяется деректива modRewrite, позволяющая создавать виртуальные адреса. Например, можно сделать так - при обращении в браузере http://site.com/X/Y/ реально будет запрошен скрипт http://site.com/SomeScript.php?x=X&y=Y - что очень полезно с точки зрения SEO. Кстати, закрыть доступ к определенным ресурсам в j2ee приложении можно с помощью web.xml и настройки сервера. Как это сделать с SJAS, я знаю, а вот про то существует ли нечто подобное modRewrite для JAS я не знаю, и очень хотел бы узнать... Добавил: Похоже узнал, можно с помощбю UrlRewriteFilter . Спасибо jsa! Это сообщение отредактировал(а) Vasay - 18.9.2007, 14:14 -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
||||
|
|||||
| IDVsbruck |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 778 Регистрация: 12.11.2006 Репутация: нет Всего: 22 |
Супер. Вопрос решен. Спасибо.
|
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |