![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| check |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 610 Регистрация: 3.4.2006 Репутация: 2 Всего: 23 |
Такой скорее теоретический вопрос относительно сервлетов...
Есть ли какой-то практический смысл в использовании методов doGet и doPost вместо единого метода service для обработки и GET и POST запросов? Или это просто дело вкуса? Эккель в своей книге пишет: "я никогда не видел объяснения, которое заставило бы меня поверить, что это не просто интертность мышления CGI программистов, которые привыкли обращать внимание, используется ли GET или POST". |
|||
|
||||
| Greg |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 16.9.2006 Где: Беларусь, г.Минск Репутация: 5 Всего: 7 |
Чесно говоря,трудно представить себе логику приложения,которая бы зависела от метода передачи параметров в HTTP запросе.
Я,например,не встречался с такого рода задачами,где разделение логики работы на POST и GET оправдывало бы себя. --------------------
Страх перед возможностью ошибки не должен отвращать нас от поисков истины. |
|||
|
||||
| check |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 610 Регистрация: 3.4.2006 Репутация: 2 Всего: 23 |
В общем, да, здравый смысл подсказывает что такое разделение реально не нужно.
Просто хотел в этом удостовериться. Тот же Эккель пишет: "Однако держите в уме, что я что-то упустил, что, возможно, является хорошей причиной в пользу использования doGet( ) и doPost( )". Так что если кто-то вдруг знает какой-то секрет, неведомый Брюсу Эккелю - поделитесь |
|||
|
||||
| Maksym |
|
|||
![]() . ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 19.8.2005 Где: Odessa, Black Sea Репутация: 24 Всего: 62 |
check
Иногда необходимо, чтобы параметры запроса передвались в браузерной строке и были видны пользователю. Хороший пример -- Яндекс: скопировал браузерную строку и можешь вызывать запрос в сдед раз одним кликом, или отправить другу... |
|||
|
||||
| check |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 610 Регистрация: 3.4.2006 Репутация: 2 Всего: 23 |
Maksym, речь не об том. Я не собирался тут обсуждать целесообразность существования
методов POST и GET Но в сервлете метод service совершенно одинаковым образом обрабатывает GET и POST запросы, однако в литературе в основном рекомендуют создавать для получения гетов и постов отдельные методы doGet и doPost. Вот я и хотел узнать - это просто дань традиции, или это действительно для чего-то нужно. |
|||
|
||||
| Maksym |
|
|||
![]() . ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 19.8.2005 Где: Odessa, Black Sea Репутация: 24 Всего: 62 |
check
Сори, я понял |
|||
|
||||
| Greg |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 16.9.2006 Где: Беларусь, г.Минск Репутация: 5 Всего: 7 |
Вот пример из кода ActionServlet в Struts 1.2.4:
Вот кстати,что про это пишет человек на jguru.com. Оффтоп: Когда я впервые начал изучать Java,я понял,что это не просто новый язык,а новый мир со своими правилами и особенностями.Стилю написания программ,как оказалось в этом мире,отводилась далеко не самая последняя роль.И это всё благодаря очень логичному языку Java,в котором кажется всё расставлено на свои места и нет ничего лишнего. Даже если логика приложения не зависит от метода передачи данных,всё равно переопределять метод service считается дурным тоном,хоть это и уменьшает размер кода.Например потому,что в где-нибудь в далёком кошмарном будущем эта зависимость может появиться. --------------------
Страх перед возможностью ошибки не должен отвращать нас от поисков истины. |
|||
|
||||
| check |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 610 Регистрация: 3.4.2006 Репутация: 2 Всего: 23 |
Greg, убедил. Меняю во всех своих сервлетах service на doGet и doPost.
Благо, сервлетов пока не так много. |
|||
|
||||
![]()
|
| Правила форума "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. |