Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
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 .