Proste z pozoru zadanie pt. jak napisać i uruchomić prostą stronę w JSP i servlet w serwerze Tomcat korzystając z wbudowanych ułatwień w IntelliJ Idei okazuje się dosyć trudnym zadaniem dla początkujących programistów Java. Poniżej znajduje się uproszczony przepis jak zrobić to w kilkudziesięciu (!) prostych krokach. Przepis bazuje na systemie Linux ale większość kroków powinna być identyczna na innych OS-ach.
Wymagania na starcie
JDK 1.8 lub nowsze, polecenie “java -version” powinno zwracać wynik zbliżony do ‘java version "1.8.0_111"‘
Gradle 3.1 lub nowsze, polecenie “gradle -version” powinno zwracać wynik zbliżony zawierający ...Gradle 3.1...,
IntelliJ Idea Utimate (nie mam pewności czy wsparcie do Tomcata jest w Community).
Utworzenie projektu
Robimy nowy projekt w Idei: File -> New -> Project -> Empty project -> Next -> wskazujemy katalogi, np. w katalogu ~/projects/example-gradle-war/
Robimy nowy moduł typu “Gradle”:
File -> Project Structure -> Modules -> (+) -> New module -> Gradle -> zaznaczamy “Additional Libraries and Frameworks”: Java i Web,
na ekranie konfiguracji gradle nic nie zmianiamy, klikamy Next,
zostawiamy “Module name” = examplewar i podane ścieżki, klikamy Finish i “Ok” -> jako wynik mamy plik build.gradle i katalog src/main/webapp z plikiem index.jsp
Otwieramy przeglądarką URL http://localhost:8080/ i powinien pojawić się napis “$END$” (lub inna treść strony JSP wygenerowana z szablonu).
“Fast-development” plików JSP
Fast-development to określenie szybkiego osiągania efektu zmian w kodzie JSP widocznego w przeglądarce – standardowo trzeba budować projekt i restartować serwer aplikacyjny co jest szalenie nieefektywne przy komercyjnym tworzeniu oprogramowania. Chcemy aby wyniki naszych zmian były widoczne niemal od razu, jak w PHP.
Wprowadzamy zmianę w pliku JSP, np. za znacznikiem $END$ dodając “XXX”,
Sprawdzamy że zwykłe przeładowanie strony w przeglądarce nic nie daje :-(,
Wybieramy Run -> Update ‘Tomcat 8.5.6’ application (CRTL-F10) -> zaznaczamy “Update classes and resources” -> OK,
Przeładowujemy strony w przeglądarce -> widzimy zmianę :-).
Pierwszy servlet
W pliku build.gradle w sekcji dependencies dodajemy:
Java EE: szybki start z projektem War z Gradle w IntelliJ Idea
Proste z pozoru zadanie pt. jak napisać i uruchomić prostą stronę w JSP i servlet w serwerze Tomcat korzystając z wbudowanych ułatwień w IntelliJ Idei okazuje się dosyć trudnym zadaniem dla początkujących programistów Java. Poniżej znajduje się uproszczony przepis jak zrobić to w kilkudziesięciu (!) prostych krokach. Przepis bazuje na systemie Linux ale większość kroków powinna być identyczna na innych OS-ach.
Wymagania na starcie
java -version” powinno zwracać wynik zbliżony do ‘java version "1.8.0_111"‘gradle -version” powinno zwracać wynik zbliżony zawierający...Gradle 3.1...,Utworzenie projektu
~/projects/example-gradle-war/mberkan.pl, ArtifactId:examplewar, VersionId:1.0-SNAPSHOT-> Next,examplewari podane ścieżki, klikamy Finish i “Ok” -> jako wynik mamy plikbuild.gradlei katalogsrc/main/webappz plikiemindex.jsp~/opt/apache-tomcat-8.5.6/~/opt/apache-tomcat-8.5.6/$END$” (lub inna treść strony JSP wygenerowana z szablonu).“Fast-development” plików JSP
Fast-development to określenie szybkiego osiągania efektu zmian w kodzie JSP widocznego w przeglądarce – standardowo trzeba budować projekt i restartować serwer aplikacyjny co jest szalenie nieefektywne przy komercyjnym tworzeniu oprogramowania. Chcemy aby wyniki naszych zmian były widoczne niemal od razu, jak w PHP.
Pierwszy servlet
build.gradlew sekcji dependencies dodajemy:(inaczej nie znajdzie się klasa HttpServlet)
src/maini dodajemy (CRTL-Insert) “Directory” o nazwiejavapl.mberkan.examplewarExampleServletextend HttpServlet, dodajemy ciało metody i mapowanie na URL:package pl.mberkan.examplewar; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; /** * @author Marek Berkan */ @WebServlet("/servlet") public class ExampleServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { response.getWriter().println("Hello"); } }Fast development servletów
Podsumowanie
Mam nadzieję że ten przepis ułatwi start nowego projektu początkującym programistom Java.
Kod opisanej aplikacji znajduje się pod adresem https://github.com/.
Archiwa
Kategorie
Ostatnie posty
AsciiDoctor – dokumentacja techniczna “na poważnie”
25 września 2022Podsumowanie kursu “Droga Nowoczesnego Architekta”
16 stycznia 2021Recenzja książki “Projekt Feniks”
21 sierpnia 2020Kalendarz