Јсп странице како послати параметре, ГЕТ и ПОСТ метод у Сервлетима

Преглед садржаја

Сав динамички веб шаље и прима параметре који су начин на који корисник може слати информације Хттп серверу. На пример, на типичном екрану за пријављивање морамо да пошаљемо корисничко име и лозинку серверу да их потврди.
Како прегледач шаље те параметре користећи методу ГЕТ или ПОСТ објашњено је у водичу за веб сервер или ХТТП сервер. Оно што ћемо видети у овом водичу је како дохватити податке за пријављивање на серверу помоћу Сервлет АПИ -ја.
Прво што ћемо урадити је да на нашој веб страници направимо логин.хтмл страницу са следећим садржајем:
 
Корисник
Кључ

Следећа ствар је креирање Сервлета који прима захтев у / логин, што је адреса наведена у атрибуту радње ознаке логин.хтмл.
 пакет цом.логин.сервлетс; импорт јава.ио.ИОЕкцептион; импорт јава.ио.ПринтВритер; импорт јавак.сервлет.СервлетЕкцептион; импорт јавак.сервлет.хттп.ХттпСервлет; импорт јавак.сервлет.хттп.ХттпСервлетРекуест; импорт јавак.сервлет.хттп.ХттпСервлетРеспонсе; јавна класа ЛогинСервлет проширује ХттпСервлет {@Оверриде заштићен воид доГет (ХттпСервлетРекуест рек, ХттпСервлетРеспонсе респ) баца СервлетЕкцептион, ИОЕкцептион {Стринг усер = рек.гетПараметер ("усер"); Стринг пасс = рек.гетПараметер ("лозинка"); иф ("логин" .екуалс (усер) && "логин" .екуалс (пасс)) {респонсе (респ, "логин ок"); } елсе {респонсе (респ, "Логин еррор"); }} привате воид респонсе (ХттпСервлетРеспонсе респ, Стринг мсг) баца ИОЕкцептион {ПринтВритер оут = респ.гетВритер (); оут.принтлн (""); оут.принтлн (""); оут.принтлн ("" + мсг + ""); оут.принтлн (""); оут.принтлн (""); }}

Ово смо саставили Сервлет и укључујемо ЛогинСервлет.цласс У адресару / ВЕБ-ИНФ / класе.
Мењамо веб.кмл тако да се повеже / пријави са овим Сервлет -ом.
 логин-сервлет цом.логин.сервлетс.ЛогинСервлет логин-сервлет / логин 

Поново покрећемо сервер, отварамо страницу логин.хтмл, стављамо к у корисника, к у лозинку и притиснемо дугме за слање.
Проблем је у томе што је тајна лозинка видљива у УРЛ -у … / логин? Усер = админ & пассворд = атк123, она ће остати у историји прегледача и свако ко приступи прегледачу након нас може је лако добити, осим ако не користимо приватно прегледавање или се може поправити променом начина слања обрасца на ПОСТ у логин.хтмл.
 
Корисник
Кључ

Оно што се овде дешава је да нисмо имплементирали доПост методу (имплементирамо само доГет) па наш Сервлет није способан да прима ПОСТ захтеве. Следећи код приказује модификације потребне за његово функционисање.
 пакет цом.логин.сервлетс; импорт јава.ио.ИОЕкцептион; импорт јава.ио.ПринтВритер; импорт јавак.сервлет.СервлетЕкцептион; импорт јавак.сервлет.хттп.ХттпСервлет; импорт јавак.сервлет.хттп.ХттпСервлетРекуест; импорт јавак.сервлет.хттп.ХттпСервлетРеспонсе; јавна класа ЛогинСервлет проширује ХттпСервлет {@Оверриде заштићен воид доПост (ХттпСервлетРекуест рек, ХттпСервлетРеспонсе респ) баца СервлетЕкцептион, ИОЕкцептион {Стринг усер = рек.гетПараметер ("усер"); Стринг пасс = рек.гетПараметер ("кеи"); иф ("админ" .екуалс (усер) && "атк123" .екуалс (пасс)) {респонсе (респ, "логин ок"); } елсе {респонсе (респ, "Логин еррор"); }} привате воид респонсе (ХттпСервлетРеспонсе респ, Стринг мсг) баца ИОЕкцептион {ПринтВритер оут = респ.гетВритер (); оут.принтлн (""); оут.принтлн (""); оут.принтлн ("" + мсг + ""); оут.принтлн (""); оут.принтлн (""); }}

Једина промена је што сам заменио доГет са доПост. Након рекомпилације и примене Сервлета, поновног покретања сервера и поновне употребе логин.хтмл, поново ради нормално.Да ли вам се допао и помогао овај водич?Можете наградити аутора притиском на ово дугме да бисте му дали позитиван поен

Ви ће помоћи развој сајта, дељење страницу са пријатељима

wave wave wave wave wave