Aplet i wiosna MVC Kontroler może być używany do zrobić to samo, ale działają one na różnym poziomie Java Application
serwlet jest częścią ram J2EE i każdego serwera aplikacji Java (Tomcat, Jetty, itp.) Jest zbudowany do uruchamiania serwletów. Serwlet to warstwa "niskiego poziomu" w stosie J2EE. Do uruchomienia aplikacji nie jest potrzebny plik servlet.jar, ponieważ jest on wstępnie pakowany za pomocą serwera aplikacji.
Sprężysta kontroler MVC to biblioteka zbudowana na serwlecie, aby ułatwić pracę. Spring MVC oferuje więcej wbudowanych funkcjonalności, takich jak parametr formularza do mapowania parametrów metody kontrolera, łatwiejsze przetwarzanie binarnych formularzy (np. Kiedy formularz może przesyłać pliki). Musisz spakować wymagane słoiki do swojej aplikacji, aby uruchomić kontroler Spring MVC
Powinieneś używać serwletu, kiedy potrzebujesz przejść na "niski poziom", a przykład może wynikać z powodu wydajności. Spring MVC działa dobrze, ale jeśli ma trochę narzut, jeśli chcesz wycisnąć wszystko, co możesz ze swojego serwera aplikacji (i już dostroiłeś inne warstwy, takie jak db), przejdź z serwletem. Możesz wybrać serwlet, jeśli chcesz poznać podstawy specyfikacji WWW J2EE (np. Do celów edukacyjnych).
We wszystkich innych przypadkach możesz wybrać strukturę sieci. Wiosna MVC jest jednym z nich; ze sprężynowym MVC nie trzeba wymyślać koła (tzn. zarządzanie formularzem binarnym, parametr postaci do konwersji fasoli, sprawdzanie parametrów itd.). Kolejnym plusem Spring MVC jest to, że w jednej klasie możesz łatwo zarządzać danymi wejściowymi z różnych adresów URL i metod, to samo robi się w serwlecie, ale kod jest bardziej skomplikowany i mniej czytelny. Moja opinia jest taka, że Spring MVC jest dobry do budowania usług odpoczynku i zarządzania prostymi aplikacjami (tj. Aplikacjami sieciowymi z prostymi formularzami). Jeśli potrzebujesz zarządzać bardzo złożonymi formularzami za pomocą Ajax, formularzy zagnieżdżonych i aplikacji ze stanem sesji i strony, moja rada to przejście do struktury opartej na komponentach (na przykład: apache wicket).
Niezłe wyjaśnienie! Mam podstawową wiedzę na temat tego, jak działają poszczególne rzeczy, po prostu nie mogę się zdecydować, kiedy stosować jedną z metod. Wyjaśniłeś różnice między tymi dwoma, nie wyjaśniając jednak ich faktycznego pola zastosowania. Czy możesz podać przykład sytuacji, w której używałbym jednej metody zamiast drugiej? – Roger
Oba są używane do tych samych rzeczy (tworzenie aplikacji internetowych). Różnica polega na tym, że Spring MVC dodaje dużo wygody.Większość osób piszących aplikację internetową w języku Java będzie używać jakiegoś rodzaju szkieletu napisanego na szczycie serwletów, aby ułatwić rozwój. NA PRZYKŁAD. jeśli nagle masz przypadek użycia dla żądania zwrotu jsona, to sprężyna mvc już to obsługuje, podczas gdy z serwletami musisz sam to rozgryźć. Wciąż warto znać serwlety, ponieważ jest to podstawowa technologia. –
Rozumiem. Więc w zasadzie tworzony jest serwlet za pomocą obu metod, robiąc dokładnie to samo - tyle że w # 2 używasz Spring MVC jako ramy, które pomagają ci w drodze? Oznacza to, że za pomocą Spring Control @ Controller, DispatcherServlet i niektórych JSP ("java in html"), tworzysz to samo, jakbyś tworzył serwlet ("html w java" (np. New -> Servlet. ..)) i trochę JSP/html na własną rękę, tyle że w przypadku Spring MVC, Spring dba o "nieprzyjemne części" biznesu serwletów "za darmo"? Czy to byłoby poprawne zrozumienie tego wszystkiego? (Przepraszam, że jestem trochę powolny :) – Roger