рдПрдХ рдЕрдиреБрд╡рд╛рджрдХ рд╕реЗ: рдХреБрдЫ рд╕рд╛рд▓ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рдЦреБрдж рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рд▓рдХреНрд╖реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЕрдкрд╛рдЪреЗ рдорд╛рд╡реЗрди рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдП рдЧрдП рдврд╛рдВрдЪреЗ рдХреЛ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдХрд╕рдХрд░ред рд▓рдЧрднрдЧ рддреБрд░рдВрдд, рдореИрдВ рдЙрдкрдпреБрдХреНрдд рд╕рд╛рд╣рд┐рддреНрдп рдЦреЛрдЬрдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕ рддрдереНрдп рд╕реЗ рдереЛрдбрд╝рд╛ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рдерд╛ рдХрд┐ рд╕рднреА рдЬрдЯрд┐рд▓ рд╕рд╛рдордЧреНрд░рд┐рдпрд╛рдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рдереАрдВ, рдЬрдмрдХрд┐ рд░реВрд╕реА рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдмрд┐рдЦрд░реЗ рд╣реБрдП рд▓реЗрдЦ рдереЗ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдПрдХ рдкреВрд░реНрдг рдкреБрд╕реНрддрдХ рдирд╣реАрдВ рдорд┐рд▓реА, рдЬрд┐рд╕реЗ рдХрд╡рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХреЗред рд╡рд┐рдлрд▓ рд░рд╣рд╛ рд╣реИред рдирддреАрдЬрддрди, рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХ рдЫреЛрдЯреА рд╕реА рдХрд┐рддрд╛рдм, рдкрд░рд┐рдЪрдп рдорд╛рд╡реЗрди, рдмрд╛рд▓рд╛рдЬреА рд╡рд░реНрдгрд╛рд╕реА рдФрд░ рд╕реБрдзрд╛ рдмреЗрд▓рд┐рджрд╛ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрд┐рдд рдФрд░ 2014 рдореЗрдВ рдПрдкреНрд░реЗрд╕ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреАред рдЬреИрд╕рд╛ рдХрд┐ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдореИрдВрдиреЗ рдзреАрд░реЗ-рдзреАрд░реЗ рдЗрд╕ рдкреНрд░рдХрд╛рд╢рди рдХреЗ рдЕрдиреБрд╡рд╛рдж рдХреЛ рдЬрдиреНрдо рджрд┐рдпрд╛, рдЬреЛ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдХреБрдЫ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдореЗрд░реЗ рдбреЗрд╕реНрдХ рдкрд░ рдкрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рдлрд┐рд░ рднреА рд╕рдореБрджрд╛рдп рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдпрд╣рд╛рдВ рдореИрдВ рдЗрд╕ рдкреБрд╕реНрддрдХ рдХреЗ рдХреЗрд╡рд▓ рдПрдХ рдЕрдзреНрдпрд╛рдп рдХрд╛ рдЕрдиреБрд╡рд╛рдж рджреЗрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рд╕рдВрдкреВрд░реНрдг рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рдЗрди рд▓рд┐рдВрдХ рд╕реЗ рдпрд╛ рд░реВрд╕реА (рдкреАрдбреАрдПрдл) рдореЗрдВ рдпрд╣рд╛рдВ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЕрдзреНрдпрд╛рдп 6: рдорд╛рд╡реЗрди рдЖрд░реНрдХреЗрдЯреАрдкреЗрд╕
рдЗрд╕ рдмрд┐рдВрджреБ рддрдХ, рдЖрдкрдиреЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ Maven рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛, рдЬрд┐рд╕рд╕реЗ рд╕реНрдХреНрд░реИрдЪ рд╕реЗ рдлрд╝реЛрд▓реНрдбрд░реНрд╕ рдФрд░
pom.xml рдлрд╛рдЗрд▓реЗрдВ
рдмрдирддреА рд╣реИрдВ ред рдпрд╣ рдердХрд╛рдК рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдпрджрд┐ рдЖрдкрдХреЛ рдЕрдХреНрд╕рд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдмрдирд╛рдиреА рдкрдбрд╝рддреА рд╣реИрдВред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдорд╛рд╡реЗрди рдЖрд░реНрдХрдПрдкреНрдЯрд┐рд╕ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
Maven archetypes рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╣реИрдВ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИрдВред
Maven archetypes рдЕрдиреБрднрд╡ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЖрдзрд╛рд░ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдорд╛рдирдХ Maven рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рдВрд░рдЪрдирд╛ рдХреА рд╕реНрдерд┐рд░рддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬрд╝ рдХреИрд╕реНрдХреЗрдбрд┐рдВрдЧ рд╕реНрдЯрд╛рдЗрд▓ рд╢реАрдЯ (
рд╕реАрдПрд╕рдПрд╕ ),
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЕрдиреБрдореЛрджрд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдФрд░ рдкреБрди: рдкреНрд░рдпреЛрдЬреНрдп рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЙрджреНрдпрдо рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред рдкреНрд░реЛрдЬреЗрдХреНрдЯ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрди рдЪрд╛рдкрд▓реВрд╕реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрдВрдкрдиреА рдХреЗ рдорд╛рдирдХреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВрдЧреЗред
рдмрд┐рд▓реНрдЯ-рдЗрди рдЖрд░реНрдХреЗрдЪреЗрд╕
рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░, рдорд╛рд╡реЗрди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рд╕реИрдХрдбрд╝реЛрдВ рдЪрд╛рдкрд▓реВрд╕реА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрдИ рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИрдВ рдЬреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдЖрд░реНрдХрдПрдкреНрдЯ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдорд╛рд╡реЗрди рднреА рдЪрд╛рдкрд▓реВрд╕реА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд▓рдЧ-рдЗрди рдЖрд░реНрдХрдЯрд╛рдЗрдкреНрд╕ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрд░реНрдХрдЯрд╛рдЗрдкреНрд╕ рд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рддреИрдпрд╛рд░ рдХрд░рддрд╛ рд╣реИред
Archetype рдкреНрд▓рдЧрдЗрди рдореЗрдВ рдПрдХ
рдЙрддреНрдкрдиреНрди рд▓рдХреНрд╖реНрдп рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХ archetype рджреЗрдЦрдиреЗ рдФрд░ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
6-1 рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдирд╛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ рдЙрддреНрдкрдиреНрди рд▓рдХреНрд╖реНрдп рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, 491 рдЪрд╛рдкрд▓реВрд╕реЛрдВ рдХреЛ рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛
(2018 рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА 2 рд╣рдЬрд╛рд░ рд╕реЗ рдЕрдзрд┐рдХ рдереЗ - рд╡рд┐рджреЗрд╢реА рдореБрджреНрд░рд╛ред рдЕрдиреБрд╡рд╛рджред) ред рдЙрдирдореЗрдВ рд╕реЗ рдХрдИ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЪрд░реНрдЪрд╛ рдЗрд╕ рдЕрдзреНрдпрд╛рдп рдореЗрдВ рдХреА рдЧрдИ рд╣реИред
рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 6-1ред Maven archetype рдкреНрд▓рдЧрдЗрди рд▓рдХреНрд╖реНрдп рдХреЙрд▓ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ$mvn archetype:generate [INFO] Scanning for projects... [INFO] [INFO] ----------------------------------------------------------------------- [INFO] Building Maven Stub Project (No POM) 1 [INFO] ----------------------------------------------------------------------- [INFO] [INFO] >>> maven-archetype-plugin:2.2:generate (default-cli) @ standalone- pom >>> [INFO] [INFO] <<< maven-archetype-plugin:2.2:generate (default-cli) @ standalone- pom <<< [INFO] [INFO] --- maven-archetype-plugin:2.2:generate (default-cli) @ standalone- pom [INFO] Generating project in Interactive mode [INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0) ........................... ........................... 1176: remote -> ru.yandex.qatools.camelot:camelot-plugin (-) 1177: remote -> se.vgregion.javg.maven.archetypes:javg-minimal-archetype (-) 1178: remote -> sk.seges.sesam:sesam-annotation-archetype (-) 1179: remote -> tk.skuro:clojure-maven-archetype (A simple Maven archetype for Clojure) 1180: remote -> tr.com .lucidcode:kite-archetype (A Maven Archetype that allows users to create a Fresh Kite project) 1181: remote -> uk.ac.rdg.resc:edal-ncwms-based-webapp (-) 1182: local -> com.inflinx.book.ldap:practical-ldap-empty-archetype (-) 1183: local -> com.inflinx.book.ldap:practical-ldap-archetype (-) Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 491:
рд╡реЗрдм рдкрд░рд┐рдпреЛрдЬрдирд╛ рдирд┐рд░реНрдорд╛рдг
рдорд╛рд╡реЗрди рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЬреЗрдирд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рд╡реЗрди
-рдЖрд░реНрдХрдЯрд╛рдЗрдк-рд╡реЗрдмрдПрдк рдЖрд░реНрдХрд╣рд╛рдЗрдк рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЖрдЗрдП,
C: \ apress \ gswm-book \ Chapter6 рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдирд┐рдореНрди рдХрдорд╛рдВрдб рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рдРрд╕рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдПрдВ:
mvn archetype:generate -DarchetypeArtifactId=maven-archetype-webapp
рдЗрд╕ рдХрдорд╛рдВрдб рдХреЛ рдЕрдВрддрдГрдХреНрд░рд┐рдпрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬрд╛рдирдХрд╛рд░реА рджрд░реНрдЬ рдХрд░реЗрдВ:
Define value for property 'groupId': : com.apress.gswmbook Define value for property 'artifactId': : gswm-web Define value for property 'version': 1.0-SNAPSHOT: : <<Hit Enter>> Define value for property 'package': com.apress.gswmbook: : war Confirm the properties configuration: groupId: com.apress.gswmbook artifactId: gswm-web version: 1.0-SNAPSHOT package: war Y: <<Hit Enter>>
рдЙрддреНрдкрдиреНрди рдлрд╝реЛрд▓реНрдбрд░ рд╕рдВрд░рдЪрдирд╛ рдХреЛ
рдЪрд┐рддреНрд░ 6-1 рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:
рдЪрд┐рддреНрд░ 6-1ред рдорд╛рд╡реЗрди рд╡реЗрдм рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕рдВрд░рдЪрдирд╛
Pom.xml рдлрд╝рд╛рдЗрд▓ рдиреНрдпреВрдирддрдо рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдПрдХ рдПрдХрд▓ рдирд┐рд░реНрднрд░рддрд╛ рд╣реИ -
JUnit ред рдорд╛рд╡реЗрди рдЕрдкрдиреЗ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓реЙрдиреНрдЪ рдХреЛ рд╕рд░рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐
рдЯреЙрдордХреИрдЯ рдпрд╛
рдЬреЗрдЯреНрдЯреА рдЬреИрд╕реЗ рдПрдореНрдмреЗрдбреЗрдб рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧред
6-2 рдХреА рд╕реВрдЪреА рдореЗрдВ рд╢рд╛рдорд┐рд▓
рдЯреЙрдордХреИрдЯ рдкреНрд▓рдЧрдЗрди рдХреЗ рд╕рд╛рде рд╕рдВрд╢реЛрдзрд┐рдд
pom.xml рдлрд╝рд╛рдЗрд▓ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред
рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 6-2ред рдПрдореНрдмреЗрдбреЗрдб рдЯреЙрдордХреИрдЯ рдкреНрд▓рдЧрдЗрди рдХреЗ рд╕рд╛рде рд╕рдВрд╢реЛрдзрд┐рдд pom.xml рдлрд╝рд╛рдЗрд▓ <project xmlns=" http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.apress.gswmbook</groupId> <artifactId>gswm-web</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <name>gswm-web Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> <build> <finalName>gswm-web</finalName> <plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> </plugin> </plugins> </build> </project>
рдЗрд╕ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ
рдЯреЙрдордХреИрдЯ рд╕рд░реНрд╡рд░ рдкрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд░реВрдЯ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ:
mvn tomcat7:run
рдЖрдкрдХреЛ рдПрдХ рд╡рд┐рд╕реНрддреГрдд рдкрд░рд┐рдпреЛрдЬрдирд╛ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ рдЬреИрд╕рд╛ рдХрд┐
рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 6-3 рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 6-3ред рдЯреЙрдордХреИрдЯ рд░рди рдХрдорд╛рдВрдб рдЖрдЙрдЯрдкреБрдЯ Oct 11, 2014 12:08:43 PM org.apache.catalina.core.StandardService startInternal INFO: Starting service Tomcat Oct 11, 2014 12:08:43 PM org.apache.catalina.core.StandardEngine startInternal INFO: Starting Servlet Engine: Apache Tomcat/7.0.47 Oct 11, 2014 12:08:45 PM org.apache.catalina.util.SessionIdGenerator createSecureRandom INFO: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [334] milliseconds. Oct 11, 2014 12:08:45 PM org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["http-bio-8080"]
рдЕрдм рдЕрдкрдирд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╢реБрд░реВ рдХрд░реЗрдВ рдФрд░
рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ рдкрд░ рдЬрд╛рдПрдБ : 8080 / gswm-web / ред рдЖрдкрдХреЛ рдПрдХ рд╡реЗрдм рдкреЗрдЬ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреИрд╕реЗ
рдЪрд┐рддреНрд░ 6-2 рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЪрд┐рддреНрд░ 6-2ред рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╡реЗрдм рдкреНрд░реЛрдЬреЗрдХреНрдЯ
рдорд▓реНрдЯреАрдореЙрдбреНрдпреВрд▓рд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ
рдЬрд╛рд╡рд╛ Enterpise Edition (JEE) рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ
рдХреЛ рдЕрдХреНрд╕рд░ рд╡рд┐рдХрд╛рд╕ рдФрд░ рд░рдЦрд░рдЦрд╛рд╡ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдХрдИ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдореЙрдбреНрдпреВрд▓
рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬрд╝ JavaBeans (EJBs) , рд╡реЗрдм рд╕реЗрд╡рд╛рдУрдВ, рд╡реЗрдм рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ
JAR рдЬреИрд╕реА рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рддрд╛ рд╣реИред рдорд╛рд╡реЗрди рдРрд╕реА рдмрдбрд╝реА
рдЬреЗрдИрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЖрдк рдПрдХ рдФрд░ рдорд╛рд╡реЗрди рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЕрдВрджрд░ рдХрдИ рдорд╛рд╡реЗрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреА рдореЗрдЬрдмрд╛рдиреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕реЗ рдорд▓реНрдЯреА-рдореЙрдбреНрдпреВрд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЛ
рдЪрд┐рддреНрд░ 6-3 рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореВрд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдПрдХ
pom.xml рдлрд╝рд╛рдЗрд▓ рдФрд░ рдХрдИ Maven рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рд╣реИрдВред
рдЪрд┐рддреНрд░ 6-3ред рдПрдХ рдорд▓реНрдЯреА-рдореЙрдбреНрдпреВрд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рд╕рдВрд░рдЪрдирд╛
рдЗрд╕ рдЕрдзреНрдпрд╛рдп рдХреЗ рдЕрдВрдд рддрдХ, рд╣рдо рдпрд╣ рдмрддрд╛рдПрдВрдЧреЗ рдХрд┐ рдХрд┐рд╕реА рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рдорд▓реНрдЯреА-рдореЙрдбреНрдпреВрд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдП рдЬрд┐рд╕рдореЗрдВ рдЖрдкрдХреЛ рдПрдХ рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдПрдХ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди (
WAR рд╡рд┐рд░реВрдкрдг рд╕рд╛рдХреНрд╖реНрдп) рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕, рдПрдХ рд╕реЗрд╡рд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ (
JAR рд╡рд┐рд░реВрдкрдг рд╕рд╛рдХреНрд╖реНрдп) рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕реЗрд╡рд╛ рдХреЛрдб рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА-рд╕реНрддрд░реАрдп рдХреЛрдб рд╡рд╛рд▓реА
рджреГрдврд╝рддрд╛ ред
рдЪрд┐рддреНрд░ 6-4 рдЗрд╕ рддрд░рд╣ рдХреЗ рдкрд░рд┐рджреГрд╢реНрдп рдХрд╛ рдПрдХ рджреГрд╢реНрдп рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред
рдЪрд┐рддреНрд░ 6-4ред рдорд▓реНрдЯреАрдореЙрдбреНрдпреВрд▓рд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдорд╛рд╡реЗрди
рдкреЗрд░реЗрдВрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдХрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, C: \ apress \ gswm-book \ Chapter6 рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХрдорд╛рдВрдб рдкреНрд░реЙрдореНрдкреНрдЯ рдкрд░ рдирд┐рдореНрди рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:
mvn archetype:generate -DgroupId=com.apress.gswmbook -DartifactId=gswm-parent -Dversion=1.0.0-SNAPSHOT -DarchetypeGroupId=org.codehaus.mojo.archetypes -DarchetypeArtifactId=pom-root
рдкреЛрдо-рд░реВрдЯ рдЖрд░реНрдХрд╣рд╛рдЗрдк gswm-рдкреИрд░реЗрдВрдЯ рдлреЛрд▓реНрдбрд░ рдФрд░ рдЙрд╕рдореЗрдВ
pom.xml рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рддрд╛ рд╣реИред
рдЬреИрд╕рд╛
рдХрд┐ 6-4 рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рдореЗрдВ
рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЙрддреНрдкрдиреНрди
pom.xml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдиреНрдпреВрдирддрдо рд╕рд╛рдордЧреНрд░реА рд╣реИред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐
рдкреЛрдо рдкреНрд░рдХрд╛рд░ рдореВрд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ
рдкреИрдХреЗрдЬрд┐рдВрдЧ рдЯреИрдЧ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИред
рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 6-4ред рдореВрд▓ рдлрд╝рд╛рдЗрд▓ pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.apress.gswmbook</groupId> <artifactId>gswm-parent</artifactId> <version>1.0.0-SNAPSHOT</version> <packaging>pom</packaging> <name>gswm-parent</name> </project>
рдЕрдм
C: \ apress \ gswm-book \ Chapter6 \ gswm-parent рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдирд┐рдореНрди рдХрдорд╛рдВрдб рдЪрд▓рд╛рдХрд░ рдПрдХ рд╡реЗрдм рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ:
mvn archetype:generate -DgroupId=com.apress.gswmbook -DartifactId=gswm-web -Dversion=1.0.0-SNAPSHOT -Dpackage=war -DarchetypeArtifactId=maven-archetype-webapp
рдЗрд╕ рд╡реЗрдм рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдЖрдкрдиреЗ Maven рдХреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЗ рд╕рд╛рде
GroupId ,
рд╕рдВрд╕реНрдХрд░рдг рдЖрджрд┐ рдкреНрд░рджрд╛рди рдХрд┐рдП, рдЬреИрд╕реЗ рдХрд┐
рдЬрдирд░реЗрдЯрд┐рдВрдЧ рдЯрд╛рд░реНрдЧреЗрдЯ рдХреЛ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛, рдЬрд┐рд╕рдиреЗ
gswm-web рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ред
рдЕрдЧрд▓рд╛ рдХрджрдо рд╕рд░реНрд╡рд┐рд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдирд╛ рд╣реИред
C: \ apress \ gswm-book \ Chapter6 \ gswm-parent рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ, рдирд┐рдореНрди рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:
mvn archetype:generate -DgroupId=com.apress.gswmbook -DartifactId=gswm-service -Dversion=1.0.0-SNAPSHOT -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЖрдкрдиреЗ
рдкреИрдХреЗрдЬ рдкреИрд░рд╛рдореАрдЯрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛, рдЬреИрд╕рд╛ рдХрд┐
maven-archetype-quickstart рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ
JAR рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рддрд╛ рд╣реИред
рдЗрдВрдЯрд░реЗрдХреНрдЯрд┐рд╡ рдореЛрдб рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рднреА рдзреНрдпрд╛рди рджреЗрдВред рдпрд╣ рдХреЗрд╡рд▓ рдореЗрд╡реЗрди рдХреЛ рдХрд┐рд╕реА рднреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕рдВрдХреЗрдд рджрд┐рдП рдмрд┐рдирд╛ рдХрдорд╛рдВрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реИред
рдкрд┐рдЫрд▓реЗ рдЪрд░рдг рдХреЗ рд╕рдорд╛рди,
C: \ apress \ gswm-book \ Chapter6 \ gswm-parent рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдирд┐рдореНрди рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд
gswm-repository Java рдкреНрд░реЛрдЬреЗрдХреНрдЯ
рдмрдирд╛рдПрдБ :
mvn archetype:generate -DgroupId=com.apress.gswmbook -DartifactId=gswm-repository -Dversion=1.0.0-SNAPSHOT -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
рдЕрдм рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рднреА рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдЬреЗрдирд░реЗрдЯ рд╣реЛ рдЧрдП рд╣реИрдВ, рддреЛ
gswm- рдкреИрд░реЗрдВрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ
pom.xml рдлрд╝рд╛рдЗрд▓ рджреЗрдЦреЗрдВред
6-5 рдХреА рд╕реВрдЪреА рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреА рд╣реИред
рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 6-5ред рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдореВрд▓ pom.xml рдлрд╝рд╛рдЗрд▓ <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven 4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.apress.gswmbook</groupId> <artifactId>gswm-parent</artifactId> <version>1.0.0-SNAPSHOT</version> <packaging>pom</packaging> <name>gswm-parent</name> <modules> <module>gswm-web</module> <module>gswm-service</module> <module>gswm-repository</module> </modules> </project>
рдореЙрдбреНрдпреВрд▓ рддрддреНрд╡ рдЖрдкрдХреЛ рдорд▓реНрдЯреА-рдореЙрдбреНрдпреВрд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдмрд╛рд▓ рдореЙрдбреНрдпреВрд▓ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдореЙрдбреНрдпреВрд▓ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ, рдорд╛рд╡реЗрди рдЙрдиреНрд╣реЗрдВ рдмрдЪреНрдЪреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рд╕реНрд╡рдпрдВ рдореЙрдбреНрдпреВрд▓ рдХреА
pom.xml рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ
рдЙрдиреНрд╣реЗрдВ pom.xml рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА
рдорд┐рд▓рддреА рд╣реИ ред
6-6 рдХреЛ
рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдиреЗ рд╕реЗ
gswm-web рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА
pom.xml рдлрд╝рд╛рдЗрд▓ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреА рд╣реИ, рдЬреЛ рдореВрд▓
рдкреЛрдо рддрддреНрд╡ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреА рд╣реИред
рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 6-6ред рд╡реЗрдм рдореЙрдбреНрдпреВрд▓ pom.xml рдлрд╝рд╛рдЗрд▓ <?xml version="1.0"?> <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.apress.gswmbook</groupId> <artifactId>gswm-parent</artifactId> <version>1.0.0-SNAPSHOT</version> </parent> <groupId>com.apress.gswmbook</groupId> <artifactId>gswm-web</artifactId> <version>1.0.0-SNAPSHOT</version> <packaging>war</packaging> <name>gswm-web Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> <build> <finalName>gswm-web</finalName> </build> </project>
рдЕрдм рдЬрдм рдкреВрд░рд╛ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪрд╛ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЖрдк рдЕрдЧрд▓реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЬреИрд╕рд╛ рдХрд┐
6-7 рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╡реИрд╕реЗ рд╣реА
gswm-project рдлреЛрд▓реНрдбрд░ рд╕реЗ
mvan рдкреИрдХреЗрдЬ рдХрдорд╛рдВрдб рдХреЛ рд░рди рдХрд░реЗрдВред
рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 6-7ред рдкреИрд░реЗрдВрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдорд╛рд╡реЗрди рдкреИрдХреЗрдЬ рдХрдорд╛рдВрдб рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ C:\apress\gswm-book\chapter6\gswm-parent>mvn package [INFO] Scanning for projects... [INFO] ------------------------------------------------------------------------ [INFO] Reactor Build Order: [INFO] [INFO] gswm-parent [INFO] gswm-web Maven Webapp [INFO] gswm-service [INFO] gswm-repository [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary: [INFO] [INFO] gswm-parent ....................................... SUCCESS [0.001s] [INFO] gswm-web Maven Webapp ............................. SUCCESS [1.033s] [INFO] gswm-service ...................................... SUCCESS [0.552s] [INFO] gswm-repository ................................... SUCCESS [0.261s] [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1.949s [INFO] Finished at: Mon Oct 13 23:09:21 MDT 2014 [INFO] Final Memory: 6M/15M [INFO] ------------------------------------------------------------------------
рдЖрд░реНрдЪреЗрдЯреЗрдкреНрд╕ рдмрдирд╛рдирд╛
рдорд╛рд╡реЗрди рдПрдХ рдирдпрд╛ рдЖрд░реНрдХрд╖рдХ рдмрдирд╛рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рд╣рдо рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдореМрдЬреВрджрд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
рдЖрдЗрдП рдПрдХ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдХрд░ рд╢реБрд░реВ рдХрд░реЗрдВ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдзрд╛рд░ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдкреНрд░реЛрдЬреЗрдХреНрдЯ
рд╕рд░реНрд╡рд▓реЗрдЯ 3.0- рд╕рдВрдЧрдд рд╣реЛрдЧрд╛ рдФрд░ рдЗрд╕рдореЗрдВ рдПрдХ
рд╕реНрдЯреЗрдЯрд╕ рд╕рд░реНрд╡рд▓реЗрдЯ рд╢рд╛рдорд┐рд▓ рд╣реЛрдЧрд╛ рдЬреЛ HTTP рд╕реНрдЯреЗрдЯрд╕ рдХреЛрдб 200 ("рдУрдХреЗ" - рд╕рдлрд▓ рдЕрдиреБрд░реЛрдз) рджреЗрддрд╛ рд╣реИред рдЦрд░реЛрдВрдЪ рд╕реЗ рдПрдХ рд╡реЗрдм рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдкрд╣рд▓реЗ рд╕реЗ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП
gswm-web рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдХреЙрдкреА рдХрд░реЗрдВ рдФрд░
C: \ apress \ gswm-book \ Chapter6 рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ gswm-web- рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдмрдирд╛рдПрдВ ред рдЖрдкрдиреЗ рдЬреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЙрдкреА рдХрд┐рдпрд╛ рд╣реИ рдЙрд╕рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдмрджрд▓рд╛рд╡ рдХрд░реЗрдВ:
1. рдЕрдиреНрдп рд╕рднреА рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдирд┐рдХрд╛рд▓реЗрдВ, рдЬреИрд╕реЗ рдХрд┐
рдПрдХреАрдХреГрдд рд╡рд┐рдХрд╛рд╕ рдкрд░реНрдпрд╛рд╡рд░рдг (IDE) (
.project ,
.classpath , рдЖрджрд┐) рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдлрд╛рдЗрд▓реЗрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк
рдЖрд░реНрдХрдЯрд╛рдЗрдк рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
2.
web.xml рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ
webapp / WEB-INF рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ рдмрджрд▓реЗрдВред рдпрд╣ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ
рд╕рд░реНрд╡рд▓реЗрдЯ 3.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдЧрд╛:
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <display-name>Archetype Created Web Application</display-name> </web-app>
3.
рд╕рд░реНрд╡рд▓реЗрдЯ 3.0 рдирд┐рд░реНрднрд░рддрд╛
pom.xml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред рдЕрджреНрдпрддрди
pom.xml рд╕рд╛рдордЧреНрд░реА
6-8 рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рдореЗрдВ рджрд┐рдЦрд╛рдИ рдЧрдИ рд╣реИред
рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 6-8ред рд╕рд░реНрд╡рд▓реЗрдЯ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде Pom.xml рдлрд╝рд╛рдЗрд▓ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.apress.gswmbook</groupId> <artifactId>gswm-web</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <name>gswm-web Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.0.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> <build> <finalName>gswm-web</finalName> <plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> </plugin> </plugins> </build> </project>
4. рдЪреВрдВрдХрд┐ рд╣рдо рдЬрд╛рд╡рд╛ рдореЗрдВ рдПрдХ рд╡реЗрдм рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░реЗрдВрдЧреЗ, рдлрд┐рд░
src / main рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ
рдЬрд╛рд╡рд╛ рдирд╛рдордХ рдПрдХ рдлреЛрд▓реНрдбрд░ рдмрдирд╛рдПрдБред рдЗрд╕реА рддрд░рд╣,
src рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ
рдЯреЗрд╕реНрдЯ / рдЬрд╛рд╡рд╛ рдФрд░
рдЯреЗрд╕реНрдЯ / рд░рд┐рд╕реЛрд░реНрд╕ рдлреЛрд▓реНрдбрд░ рдмрдирд╛рдПрдВред
5.
src / main / java рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ
com.apress.gswmbook.web.servlet рдкреИрдХреЗрдЬ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд
AppStatusServlet.java рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБред рдкреИрдХреЗрдЬ
com.apress.gswmbook.web.servlet рдлрд╝реЛрд▓реНрдбрд░ рд╕рдВрд░рдЪрдирд╛
com \ apress \ gswmbook \ web \ рд╕рд░реНрд╡рд▓реЗрдЯ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ
рдЬрд╛рддрд╛ рд╣реИ ред
AppStatusServelet.java рдлрд╝рд╛рдЗрд▓
рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб
6-9 рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 6-9ред AppStatusServlet рдЬрд╛рд╡рд╛ рдХреНрд▓рд╛рд╕ рдХреЗ рд▓рд┐рдП рд╕реЛрд░реНрд╕ рдХреЛрдб package com.apress.gswmbook.web.servlet; import javax.servlet.annotation.WebServlet; import javax.servlet.*; import javax.servlet.http.*; import java.io.*; @WebServlet("/status") public class AppStatusServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { PrintWriter writer = response.getWriter(); writer.println("OK"); response.setStatus(response.SC_OK); } }
рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдПрдХ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдбрд┐рдЬрд╛рдЗрди
рдЕрдВрдЬреАрд░ 6-5 рдореЗрдВ рдЪрд┐рддреНрд░рд┐рдд рдПрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдпрд╛рддреНрд░рд╛ рд╣реЛрдЧреАред
рдЕрдВрдЬреАрд░ред 6-5ред рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЬрдирд░реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛
рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдирд┐рдореНрди рдХрдорд╛рдВрдб рдХреЛ рдЪрд▓рд╛рдиреЗ рд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ
gswm-web-рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдлреЛрд▓реНрдбрд░ рдкрд░ рдЬрд╛рдПрдВ:
mvn archetype:create-from-project
рдХрдорд╛рдВрдб рдХреЗ рдЕрдВрдд рдореЗрдВ, рдЖрдк
рд▓рдХреНрд╖реНрдп / рдЬрдирд░реЗрдЯ-рд╕реЛрд░реНрд╕ / рдЖрд░реНрдХрдЯрд╛рдЗрдк рдореЗрдВ рдмрдирд╛рдП рдЧрдП рдореИрд╕реЗрдЬ
рдЖрд░реНрдХрд┐рдЯрд╛рдЗрдк рдХреЛ рджреЗрдЦреЗрдВрдЧреЗред рдЬреЗрдирд░реЗрдЯ рдХрд┐рдП рдЧрдП
рдЖрд░реНрдХрд╡реЗрдкреНрдЯ gswm-web-рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк / рд▓рдХреНрд╖реНрдп / рдЬреЗрдирд░реЗрдЯ рдХрд┐рдП рдЧрдП рд╕реНрд░реЛрдд / archetype рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИред
рдЕрдЧрд▓рд╛ рдХрджрдо рдкреНрд░рдХрд╛рд╢рди рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ gswm-web-archetype рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдирд╡-рдирд┐рд░реНрдорд┐рдд рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрди рдЪрд░рдгреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ:
1.
C: \ apress \ gswm-book \ Chapter6 рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ
gswm-web-archetype рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдПрдБред
2.
C: \ apress \ gswm-book \ Chapter6 \ gswm-web-prototyp \ target_ рдЬреЗрдирд░реЗрдЯ рдХрд┐рдП рдЧрдП рд╕реНрд░реЛрддреЛрдВ-рдЬрдирд░реЗрдЯ-рд╕реЛрд░реНрд╕ \ archetype рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ
Gswm-web-archetype рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдВред
3.
C: \ apress \ gswm-book \ Chapter6 \ gswm-web-arcapype рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд┐рдХрд╛рд▓реЗрдВред
Gswm-web-archetype рдХреЗ рд▓рд┐рдП рдлрд╝реЛрд▓реНрдбрд░ рд╕рдВрд░рдЪрдирд╛
рдЪрд┐рддреНрд░ 6-6 рдореЗрдВ рджрд┐рдЦрд╛рдП рдЧрдП рдХреЗ рд╕рдорд╛рди рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред
рдЕрдВрдЬреАрд░ред 6-6ред рд╡реЗрдм рдЖрд░реНрдХрд┐рдЯрд╛рдЗрдк рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реНрдЯреНрд░рдХреНрдЪрд░
рдЖрдЗрдП
gswm-web-archetype \ src \ main \ resource \ archetype-resource рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдерд┐рдд
pom.xml рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рд╕рдВрд╢реЛрдзрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░реЗрдВред рдЕрдВрддрд┐рдо рдирд╛рдо рдмрджрд▓реЗрдВ
pom.xml рдореЗрдВ
gswm-web рд╕реЗ $ {рд╡рд┐рд░реВрдкрдг рд╕рд╛рдХреНрд╖реНрдп} рдХреЗ рд▓рд┐рдПред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди, рдореИрд╡реЗрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдореВрд▓реНрдп рдХреЗ
рд╕рд╛рде рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐
$ {рд╡рд┐рд░реВрдкрдг рд╕рд╛рдХреНрд╖реНрдп} рдХреА рдЬрдЧрд╣ рд▓реЗрдЧрд╛ред
рдЬрдм рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдПрдХ рдЖрд░реНрдХрдЯрд╛рдЗрдк рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдорд╛рд╡реЗрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкреИрдХреЗрдЬ рдХреЗ рдирд╛рдо рдХреЗ рд▓рд┐рдП рдкреВрдЫрддрд╛ рд╣реИред рдорд╛рд╡реЗрди рдирд┐рд░реНрдорд┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ
src / main / java рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕реНрдерд┐рдд рдкреИрдХреЗрдЬ рдХреЗ рдЕрдиреБрд░реВрдк рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рд╕рдВрд░рдЪрдирд╛ рдмрдирд╛рддрд╛ рд╣реИред рдлрд┐рд░ рдорд╛рд╡реЗрди рдЗрд╕ рдкреИрдХреЗрдЬ рдореЗрдВ рд╕рднреА рд╕рд╛рдордЧреНрд░реА рдХреЛ
рдЖрд░реНрдХ-рдкреНрд░рдЪрд╛рд░-рд╕рдВрд╕рд╛рдзрдиреЛрдВ / src / main / java archetype рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐
AppStatusServlet web.servlet рдЙрдк-рдкреИрдХреЗрдЬ рдореЗрдВ рд╣реЛ, рддреЛ
рд╡реЗрдм / рд╕рд░реНрд╡рд▓реЗрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдПрдВ рдФрд░
AppStatusServlet рдХреЛ рд╡рд╣рд╛рдВ рд▓реЗ
рдЬрд╛рдПрдВ ред
AppStatusServlet.java рдХрд╛ рдирдпрд╛ рд╕реНрдерд╛рди
рдЪрд┐рддреНрд░ 6-7 рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЪрд┐рддреНрд░ 6-7ред Web.servlet рдкреИрдХреЗрдЬ рдореЗрдВ AppStatusServlet
AppStatusServlet.java рдЦреЛрд▓реЗрдВ рдФрд░
рдкреИрдХреЗрдЬ $ {рдкреИрдХреЗрдЬ} рд╕реЗ
рдкреИрдХреЗрдЬ рдХрд╛ рдирд╛рдо рдмрджрд▓реЗрдВ
; рдкреИрдХреЗрдЬ рдкрд░
$ {рдкреИрдХреЗрдЬ} .web.servlet;рдПрдХ рдЖрд░реНрдХрдЯрд╛рдЗрдк рдмрдирд╛рдиреЗ рдХрд╛ рдЕрдВрддрд┐рдо рдЪрд░рдг рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╣реИ, рдЬреЛ gswm-web-archetype рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИ:
mvn clean install
рдЖрд░реНрдХрд╖рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рдПрдХ рдмрд╛рд░ рдЬрдм
рдЖрд░реНрдХрдПрдкреНрдЯрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд рд╣реЛ рдЧрдпрд╛ рд╣реИ, рддреЛ
рд╕реА рд╕реЗ:: ap Ap \ gswm-book \ Chapter6 рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ , рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ, рдирд┐рдореНрди рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:
mvn archetype:generate -DarchetypeCatalog=local
рдорд╛рд╡реЗрди рдХреЗ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рдЬрд╡рд╛рдм рдореЗрдВ,
рд╕реВрдЪреА 6-10 рдореЗрдВ рджрд┐рдЦрд╛рдП рдЧрдП рдорд╛рди рджрд░реНрдЬ рдХрд░реЗрдВ, рдФрд░ рдЖрдк рдмрдирд╛рдП рдЧрдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рджреЗрдЦреЗрдВрдЧреЗред
рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 6-10ред рдПрдХ рдЪрд╛рдкрд▓реВрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдирд╛ C:\apress\gswm-book\chapter6>mvn archetype:generate -DarchetypeCatalog=local [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building Maven Stub Project (No POM) 1 [INFO] ------------------------------------------------------------------------ [INFO] Generating project in Interactive mode [INFO] No archetype defined. Using maven-archetype-quickstart (org.apache. maven.archetypes:maven-archetype-quickstart:1.0) Choose archetype:1: local -> com.apress.gswmbook:gswm-web-archetype (gswm-web-archetype) Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): : 1 Define value for property 'groupId': : com.apress.gswmbook Define value for property 'artifactId': : test-project Define value for property 'version': 1.0-SNAPSHOT: : Define value for property 'package': com.apress.gswmbook: : Confirm properties configuration: groupId: com.apress.gswmbook artifactId: test-project version: 1.0-SNAPSHOT package: com.apress.gswmbook Y: : ------------------------------------------------------------------------------ project [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1:27.635s [INFO] Finished at: Mon Oct 13 23:36:01 MDT 2014 [INFO] Final Memory: 9M/22M [INFO] ------------------------------------------------------------------------
рдХреНрдпреЛрдВрдХрд┐
рдкрд░реАрдХреНрд╖рдг-рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП
pom.xml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА
Tomcat рдкреНрд▓рдЧрдЗрди рд╣реИ, рдлрд┐рд░
mvan tomcat7 рдЪрд▓рд╛рдПрдВ: рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
C: \ apress \ gswmbook \ Chapter6 \ test-project рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБред рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЦреЛрд▓реЗрдВ рдФрд░
рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ рдкрд░ рдЬрд╛рдПрдБ : 8080 / рдЯреЗрд╕реНрдЯ-рдкреНрд░реЛрдЬреЗрдХреНрдЯ / рд╕реНрдЯреЗрдЯрд╕ ред рдЖрдкрдХреЛ рд╢рд┐рд▓рд╛рд▓реЗрдЦ
рдареАрдХ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛, рдЬреИрд╕рд╛ рдХрд┐
рдЪрд┐рддреНрд░ 6-8 рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЪрд┐рддреНрд░ 6-8ред рдЙрддреНрдкрдиреНрди рдкрд░рд┐рдпреЛрдЬрдирд╛ рджреНрд╡рд╛рд░рд╛ рдкреГрд╖реНрда
рдкрд░рд┐рдгрд╛рдо
Maven archetypes рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реНрдЯрдмреНрд╕ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдЬрд▓реНрджреА рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рджреЗрддреЗ рд╣реИрдВред рдЗрд╕ рдЕрдзреНрдпрд╛рдп рдореЗрдВ, рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕ рдорд╛рд╡реЗрди рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕, рдЬреИрд╕реЗ рд╡реЗрдм рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдпрд╛ рдорд▓реНрдЯреА-рдореЙрдбреНрдпреВрд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдЬреЗрдирд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдЯ-рдЗрди рдЖрд░реНрдХрдЯрд╛рдЗрдкреНрд╕ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЖрдкрдиреЗ рдпрд╣ рднреА рд╕реАрдЦрд╛ рдХрд┐ рдХрд╕реНрдЯрдо рдЖрд░реНрдХрд┐рдЯреЗрдкреНрд╕ рдХреИрд╕реЗ рдмрдирд╛рдПрдВ рдФрд░ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗрдВред
рдЕрдЧрд▓реЗ рдЕрдзреНрдпрд╛рдп рдореЗрдВ, рдЖрдк рдорд╛рд╡реЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд╛рдЗрдЯ рдкреАрдврд╝реА, рдкреНрд░рд▓реЗрдЦрди рдФрд░ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рдЬрд╛рдиреЗрдВрдЧреЗред