Когда использовать doGet, doPost и service [дубликат]
этот вопрос уже есть ответ здесь:
- догет и допост в Сервлетах 5 ответов
мне было интересно узнать об этих методах сервлетов. я знаю что-то об этих методах, как
-
doPost
не имеет ограничений на номера paramater в то время какdoGet
есть. -
doGet
is быстрее, чемdoPost
. -
doPost
защищена, чемdoGet
.
и мой вопрос в том, как эти методы принимают те же параметры и делают процесс, который мы реализуем. тогда что такое major difference
между этими методами и At which specific situation each of this method is used to process
.
9 ответов
там технически разницы вы упомянули, и есть часть, где мы говорим о metaphers остальные.
рядом с POST и GET, есть PUT и DELETE тоже. Вы должны использовать GET для операций, которые не изменяют ваши данные, POST для создания и PUT для обновления данных. DELETE, очевидно, для удаления данных.
doGet ():> мы будем использовать для статического содержимого, когда мы будем его использовать, наши параметры запроса проходят через заголовок HTTP-пакета. Или размер заголовка HTTP-пакета фиксирован. Таким образом, только ограниченные данные могут быть отправлены. или в случае doGet() параметры запроса отображаются в адресной строке или в сетевых данных, отправляемых как плоский текст.
doPost ():>мы будем использовать для динамического содержимого, когда мы будем его использовать, наши параметры запроса проходят через тело пакета http. Или размер тела пакета http не фиксирован. Так Неограниченные данные можно отправить. или в случае запроса doPost() параметры запроса не отображаются в адресной строке или в сетевых данных отправляются как зашифрованный текст.
service ():> если мы определим его, то нам придется столкнуться с проблемой подключения к серверу, потому что его протокол независим, поэтому его не хороший подход.
я сосредоточусь только на различиях:
doService(): используйте его, когда вы знаете, что делаете, реализация по умолчанию вызывает doGet()или doPost (), поэтому, если вы перезаписываете его, вы не получите другой метод.
doGet (): по соглашению метод GET не должен изменять внутреннее состояние вашего приложения (вы не должны делать обновления или тому подобное)
метод dopost(): по соглашению POST используется для изменения внутреннее состояние вашего приложения (делать вставки, обновления, удаления)
doGet () и doPost (), doPut (), doDelete () называются в разных случаях с некоторыми незначительными различиями.
да W3C дал некоторые спецификации
представление объекта передается клиенту. Некоторые URI относятся к определенным вариантам объекта, а некоторые-к объектам со многими вариантами. В последнем случае допустимые представления, кодировки и языки могут быть указаны в поля запроса заголовка, и может повлиять на определенное значение, которое возвращается.
этот метод HTTP создает новый объект, связанный с указанным объектом и подчиненный ему. Содержимое нового объекта заключено в тело запроса.
и service () метод получает стандартные HTTP-запросы от метода public service и отправляет их в методы doXXX, определенные в этом классе.
GET
должны быть идемпотентными , POST
может и не быть. GET
когда вы хотите сделать что-то с сервера POST
для отправки данных на сервер. The GET
является идемпотентным означает, что одна и та же операция, примененная несколько раз, дает тот же результат, где, как и с POST
оно имеет побочные эффекты которые приводят к в varied выходах. Вы можете написать не идемпотент GET
, но это противоречит Конвенции, и вы можете столкнуться с проблемами. GET
запросы могут быть закладки . POST
не может быть закладок. Параметры запроса должны быть ограничены в GET
с POST
вы даже можете отправлять файлы для загрузки.
простым словом .. get будет использоваться, когда вы хотите получить что-то с сервера, и нет никакой конфиденциальной информации, доступной в вашем запросе, потому что его заголовок виден в URL. в должности будет использоваться, когда вы обновляете что-то на сервере,и есть критические данные, например пароли, номер учетной записи и т. д. в запросе. другое преимущество в должности - это не фиксированный размер Так вы можете отправить неограниченные данные и данные не будут виден в любом случае.
Я вещь, которую вы должны прочитать что-то о методах GET и POST HTTP. Вы можете начать, например здесь. Ваш вопрос на самом деле не связан с Java и Сервлетами, а с самыми основами веб-программирования.
Мне было интересно узнать об этих методах сервлетов. я знаю что-то об этих методах, как
• do Post не имеет ограничений на номера paramater в то время как doGet имеет.
• догет быстрее, чем допост.
• допост обеспечен чем догет
метод службы вызывается контейнером сервлета для обработки запроса и ответа с правильным ответом. Каждый раз, когда запрос сделан, вызывается метод службы. Мы никогда не переопределяем его, как это уже было сделано с точки зрения:
- doGet ()
- метод dopost()
doGet () - запрашивает информацию. Это ничего не меняет на сервере. метод doGet () является методом HTTPServletRequest по умолчанию.
метод dopost() - Он используется для предоставления информации, необходимой серверу.
Я просто записал основную разницу, остальные есть другие различия в производительности.