Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Presmerovanie Vs . Vpred v jazyku Java

Programovací jazyk Java je široko používaný pre programovanie na desktope , mobilné a serverové prostredie . Keď používateľ odošle dáta z formulára alebo kliknutie na odkaz na webovú adresu , môže Java programátori používať triedu Servlet zistiť , ako aplikácia server - side odpovie na túto žiadosť . Servlet môže poskytnúť odpovede pomocou presmerovania a presmerovanie . To je dôležité pre Java programátorov pochopiť podobnosti a rozdiely medzi týmito dvoma spôsobmi , a vedieť , ktorý z nich použiť v závislosti na ich potrebách . Podobnosť

Ako presmerovanie a presmerovanie poskytuje spôsob , ktorý umožňuje Java Servlet previesť spracovanie užívateľských dát z iného regulátora v rámci webovej aplikácie . Vo vzore Model - View - Controller , ktorý sa bežne používa pre webové aplikácie v jazyku Java , regulátor môže spolupracovať s ďalšími regulátormi a riadi interakcie medzi názormi a modelov . Zvyčajne regulátor je ďalší Java Servlet , ale môže to byť tiež stránky JSP .
Rozdiely

akcie presmerovanie sa vykonáva na strane servera a je transparentný webový prehliadač na strane klienta . To znamená , že URL do adresného riadku webového prehliadača sa nezmení , ak dôjde k presmerovanie . Naproti tomu , presmerovanie akcie sa vykonáva na strane klienta . Presmerovanie sa deje v dvoch krokoch , pretože server má na pokyn webového prehliadača na strane klienta , aby priniesla ďalšiu adresu , ktorá je presmerovanie na . V dôsledku toho bude URL v adresnom riadku zmeniť po presmerovania . Okrem toho , presmerovanie nemôže byť vykonané na inú adresu URL nachádzajúce sa mimo webovú aplikáciu , zatiaľ čo presmerovanie možno vykonať na akejkoľvek stránky sa nachádzajú kdekoľvek .
Zvyklostiam

Forwarding používa RequestDispatcher trieda , ktorá sa získa z " getServletContext ( ) " metódou servletov . Ak chcete odovzdať , metóda " vpred ( ) " z " . RequestDispatcher trieda sa nazýva Napríklad nasledujúci kód odovzdá odpoveď na inú stránku s názvom result.jsp :

String cieľovej = " /WEB - INF /pages /result.jsp " ;

RequestDispatcher rd = getServletContext ( ) getRequestDispatcher ( určenia) , .

rd.forward ( request , response ) ;

Presmerovanie používa " sendRedirect ) ( " metóda objektu odozvy , ktorá sa získava z aktuálnej Servlet triedy Napríklad nasledujúci kód bude presmerovať odpovede na inú stránku s názvom destination.jsp : .

String cieľ = " /jsp /destination.jsp " ;

response.sendRedirect ( response.encodeRedirectURL ( určenie ) ) ;
Úvahy

operácie presmerovania je o niečo pomalší ako špedícia , pretože webový prehliadač potrebné urobiť dve operácie načítať adresu pred a po presmerovanie . Navyše , akékoľvek predmety prenášané v pôvodnom požiadavke rozsahu sú stále k dispozícii v priebehu odovzdávania , ale sa stratia počas presmerovania . Ako taký , presmerovanie by mala byť použitá iba keď je prehliadač umožnené znovu výslednú adresu po presmerovania . V ostatných prípadoch je potrebné použiť presmerovanie .

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené