рдкрд░рд┐рдЪрдп
рдЖрдЬ, рд╕реВрдЪрдирд╛ рд╕реБрд░рдХреНрд╖рд╛ рдЖрдИрдЯреА рдЙрджреНрдпреЛрдЧ рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рд╣рдорд╛рд░реЗ рд╕рдордп рдореЗрдВ рдпрд╛рддрд╛рдпрд╛рдд рдХреЛ рд╕реБрдирдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рд╡рд┐рд╢реЗрд╖ рдЬреНрдЮрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ - рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдкрд░реНрдпрд╛рдкреНрдд рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдФрд░ рд╡рд┐рд╕реНрддреГрдд рдореИрдиреБрдЕрд▓ рд╣реИрдВред
рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реЗрд╡рд╛ рд▓рд┐рдЦрдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдФрд░ рд╣рд▓ рдХрд┐рдпрд╛ рдХрд┐ рдЗрд╕реЗ "рдордзреНрдп рдореЗрдВ рдЖрджрдореА" рд╣рдорд▓реЛрдВ рд╕реЗ рдЕрдзрд┐рдХрддрдо рд░реВрдк рд╕реЗ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ - рд╕реЗрд╡рд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░реЗрд╖рд┐рдд рдлрд╛рдЗрд▓реЗрдВ рдЕрдирдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рд░реВрдк рдореЗрдВ рдЕрдВрддрд┐рдо рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛рд░реНрдб рд╕реЗ рдирд╣реАрдВ рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП, рдФрд░ рддрджрдиреБрд╕рд╛рд░, рдЕрдВрддрд┐рдо рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдХреА рдорд╢реАрди рдкрд░ рдбрд┐рдХреНрд░рд┐рдкреНрд╢рди рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рдерд╛ред
рдЙрдкрдХрд░рдг рдЪрдпрди
рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рд╕рд░реНрд╡рд░ рдкрдХреНрд╖ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рд╡рд┐рдХреЗрдЯ рд╡реЗрдм рд╡рд┐рдХрд╛рд╕ рдврд╛рдВрдЪреЗ рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдореЗрдВ рдЬрд╛рд╡рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХреЛ рдЪреБрдирд╛ред рдпрд╣ рдПрдХрдорд╛рддреНрд░ рдЯреВрд▓рдХрд┐рдЯ рдирд╣реАрдВ рд╣реИ, рдЬрд┐рд╕ рдкрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реНрдЯреИрдХ рдЙрдиреНрд╣реЗрдВ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдФрд░ рд╡рд┐рдХреЗрдЯ, рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдХреЗ рд╕рд╛рде, рд╡реЗрдм рдкреЗрдЬ рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рд╣реА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рд╕реАрдорд╛рдВрдд рдиреЗ рдЗрд╕рдореЗрдВ рдХреБрдЫ рдЬрдЯрд┐рд▓ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХрд╛ рдЕрд░реНрде рдирд╣реАрдВ рд▓рдЧрд╛рдпрд╛ - рдореИрдВрдиреЗ рдЦреБрдж рдХреЛ рдПрдХ рд╕реБрдВрджрд░ рдФрд░ рдореИрддреНрд░реАрдкреВрд░реНрдг рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛, рдЖрд╡реЗрджрди рддрд░реНрдХ рдПрдХ рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдереА, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЦреБрдж рдХреЛ рдХреНрд▓рд╛рд╕рд┐рдХ рдПрдЪрдЯреАрдПрдордПрд▓ / рд╕реАрдПрд╕рдПрд╕ / рдЬреЗрдПрд╕ рдмрдВрдбрд▓ рддрдХ рд╕реАрдорд┐рдд рдХрд░ рджрд┐рдпрд╛ред
рдбреЛрдХрд░ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд╕рд░реНрд╡рд░ Ubunty 18.04 рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ - рд▓реЗрдХрд┐рди рд╕рд░реНрд╡рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЪрд░реНрдЪрд╛ рдиреАрдЪреЗ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдХреА рдЬрд╛рдПрдЧреА - Apache Tomcat рд╕рд░реНрд╡рд▓реЗрдЯ рдХрдВрдЯреЗрдирд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдПред рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЕрдиреНрдп рддрдХрдиреАрдХреЛрдВ, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рд▓реЗрдЦ рдХреЗ рджреМрд░рд╛рди рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рд╕рд░реНрд╡рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди
рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ Ubunty 18.04 рдкрд░ рдПрдХ рд▓рд┐рдирдХреНрд╕ рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдерд┐рдд рд╣реИред рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЕрдиреНрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рд╕реЗ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд╛рде рд╣реА рд╕рд╛рде рддреИрдирд╛рддреА рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдХрдВрдЯреЗрдирд░реАрдХреГрдд рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ - Doker рдХреА рдорджрдж рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдорд╛рддреНрд░рд╛ рдореЗрдВ рд╕реАрдкреАрдпреВ рдФрд░ рдореЗрдореЛрд░реА, рдУрдкрди рдкреЛрд░реНрдЯреНрд╕ рд▓рд┐рд╕реНрдЯ, рдФрд░ рдмрд╛рдХреА рдХреЛ рдмрдВрдж рдХрд░реЗрдВред рдореИрдВ рдбреЛрдХрд░ рд╕реЗрд╡рд╛ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рд╡рд┐рдиреНрдпрд╛рд╕ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдореБрдЦреНрдп рдмрд┐рдВрджреБрдУрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╕рднреА рдЖрджреЗрд╢ рдкреНрд░рд╢рд╛рд╕рдХ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рд╕рдВрдмрдВрдзрд┐рдд рд╕реЗрд╡рд╛ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдФрд░ рд╢реБрд░реВ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛
рдЙрд╕рдХреЗ рдмрд╛рдж, рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреА рдЫрд╡рд┐ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЪрд▓рд╛рдПрдВ - рд╣рдореЗрдВ рдЗрд╕ рд╕рдордп рдХрдВрдЯреЗрдирд░ рд╕реЗ рдЕрдзрд┐рдХ рдХреБрдЫ рднреА рдирд╣реАрдВ рдЪрд╛рд╣рд┐рдП:
рдЗрдирдкреБрдЯ рдкреНрд░реЙрдореНрдкреНрдЯ рдХреА рд╢реИрд▓реА рдмрджрд▓рдиреА рдЪрд╛рд╣рд┐рдП рдереА - рдЕрдм рд╣рдо рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд╣реИрдВ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдбрд░ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╢рд╛рдпрдж рдХреБрдЫ рдкреИрдХреЗрдЬ рдЬреЛ рд╣рдо рдПрдХ рдЕрд╕рд▓реА рдорд╢реАрди рдкрд░ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рд╡реЗ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрд╕рд▓реА рдорд╢реАрди рдкрд░ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ред рдпрд╣ рдЖрдЧреЗ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╕рднреА рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдХреА рдЬрд╛рддреА рд╣реИрдВред
рдЯреЙрдордХреИрдЯ рд╕рд░реНрд╡рд▓реЗрдЯ рдХрдВрдЯреЗрдирд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛
рдЗрд╕рд▓рд┐рдП, рдЗрд╕ рд╕рдордп, рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдПрдХ рд╕рд╛рдл рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╣реИред рдЗрд╕ рдкрд░ рдПрдХ рдЬрд╛рд╡рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╣реЛрд╕реНрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕реАрдзреЗ рдЙрд╕ рдкрд░ jdk рдФрд░ jvm рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдкрдереЛрдВ рдХреЗ рд╕рд╛рде рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗрдЯ рдХрд░реЗрдВред рддрджрдиреБрд╕рд╛рд░, рдпрд╣рд╛рдВ рдореИрдВ рдХреЗрд╡рд▓ рдореБрдЦреНрдп рдХрдорд╛рдВрдб рджреВрдВрдЧрд╛, рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд▓рд┐рдирдХреНрд╕ рдкрд░ рдЬрд╛рд╡рд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
JDK рдФрд░ JRE рдХреЛ рдЗрдВрд╕реНтАНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░ рдлрд┐рд░ JAVA_HOME рдкрд░реНрдпрд╛рд╡рд░рдг рд╡реИрд░рд┐рдПрдмрд▓ рдХреЛ рдЯреНрдпреВрди рдХрд░реЗрдВ, рдЖрдкрдХреЛ рддрджрдиреБрд╕рд╛рд░ рдЗрди рдХрдорд╛рдВрдбреЛрдВ рдХреЛ рджрд░реНрдЬ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
рддрдм рдЖрдк рд╕реАрдзреЗ рдЯреЙрдордХреИрдЯ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рдореБрдЦреНрдп рдмрд╛рдд - рдкреНрд░рдмрдВрдзрдХ рдФрд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЛ рджреЗрдирд╛ - рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдЖрдк рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рджреВрд░рд╕реНрде рд░реВрдк рд╕реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рдкреНрд░рд╢рд╛рд╕рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдиреНрдпрдерд╛, рд╕рдм рдХреБрдЫ рдорд╛рдирдХ рд╣реИ - рдкреИрдХреЗрдЬ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рдФрд░ рд╕реЗрд╡рд╛ рд╢реБрд░реВ рдХрд░рдирд╛ред
рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рд┐рдЦрдирд╛
рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдПрдХ рд╕рд░реНрд╡рд░ рдФрд░ рдПрдХ рдХреНрд▓рд╛рдЗрдВрдЯ рд╣рд┐рд╕реНрд╕рд╛ рд╢рд╛рдорд┐рд▓ рд╣реЛрдЧрд╛ред рд╣рдо рдЧреНрд░рд╛рд╣рдХ рдкрдХреНрд╖ рдкрд░ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ; рд╕рдВрдкрд╛рджрдХ рдлрд╝рд╛рдЗрд▓ рдФрд░ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдлрд╝рдВрдХреНрд╢рди рдЕрдзрд┐рдХрддрдо рд░реБрдЪрд┐ рдХреЗ рд╣реИрдВред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдкрд╣рд▓реЗ рдЪреАрдЬреЗрдВ рдкрд╣рд▓реЗред
рдЧреНрд░рд╛рд╣рдХ рдкрдХреНрд╖ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред
рдЬреИрд╕рд╛ рдХрд┐ рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ рдЧрдИ рд╣реИ, рдЗрд╕реЗ рд╕рд░реНрд╡рд░ рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕реВрдЪреА рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред рдЪреВрдВрдХрд┐ рд╕рдорд╛рдзрд╛рди рд╕рд╕реНрддрд╛ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдПрдХ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдкрд╛рда рдмреЙрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдкрд╛рда рдХреЗ рд░реВрдк рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕реВрдЪреА рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХреА, рдФрд░ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдХреЛ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рд╕реЗ рдПрдХ рдкреНрд░рдкрддреНрд░ рд╕рдВрд▓рдЧреНрди рдХрд┐рдпрд╛ред
рдЕрдВрдЬреАрд░ред 1 - рдлрд╝рд╛рдЗрд▓ рд╕рдВрдЧреНрд░рд╣рдг рдЗрдВрдЯрд░рдлрд╝реЗрд╕рдЬрдм рдЖрдк рдЗрдирдкреБрдЯ рд▓рд╛рдЗрди рдореЗрдВ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдлрд╝рд╛рдЗрд▓ рдПрдХ рдФрд░ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдЦреБрд▓рддреА рд╣реИ - рд╕рдВрдкрд╛рджрдХ рдореЗрдВред рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреГрд╖реНрда рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛ рдХреЛрдб:
File directory = new File(wayToDirs); String files = new String(); directory.mkdirs(); for (File i : directory.listFiles()) files+=i.getName()+"\n"; TextArea listOfFiles = new TextArea("files", Model.of("")); listOfFiles.setEnabled(false); listOfFiles.setDefaultModelObject(files); add(listOfFiles);
рд╕рдВрдмрдВрдзрд┐рдд HTML рдФрд░ рднреА рдЕрдзрд┐рдХ рддреБрдЪреНрдЫ рд╣реИ:
<textarea wicket:id = "files" class="files" id = "files" /> <form wicket:id="selector" > <textarea wicket:id="name" class="input"/> <button wicket:id="opener" class="input" style="width: 10%"></button> </form>
рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╣реА рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╕рдВрдкрд╛рджрдХ рдФрд░ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рд╡рд╛рд▓рд╛ рдкреГрд╖реНрда рд╕реАрдзреЗ рдмреНрдпрд╛рдЬ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред рд╡рд╣рд╛рдВ, рдЖрд╡рд╢реНрдпрдХ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрджреНрдШрд╛рдЯрди, рд╕рдВрд╢реЛрдзрди, рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдФрд░ рдбрд┐рдХреНрд░рд┐рдкреНрд╢рди, рд╕рд╛рде рд╣реА рдЗрд╕рдХреА рдмрдЪрдд рд╣реЛрддреА рд╣реИред
рдЕрдВрдЬреАрд░ред 2 - рд╕рдВрдкрд╛рджрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕рдЪрд▓реЛ рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ - рдпрд╣ рд╕рдордЭрдирд╛ рдЖрд╕рд╛рди рд╣реИред рд╕рд░реНрд╡рд░ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЯреЗрдХреНрд╕реНрдЯ рдЗрдирдкреБрдЯ рд╡рд┐рдВрдбреЛ рд╕реЗ рдкрд╛рда рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдВрдЬреА рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕реА рд▓рд╛рдЗрди рд╕реЗ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рд╕рд╣реЗрдЬрдирд╛ рдЪрд╛рд╣рд┐рдПред рджрд░рдЕрд╕рд▓, рдиреАрдЪреЗ рджреА рдЧрдИ рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рдореЗрдВ рдпрд╣реА рд╣реЛрддрд╛ рд╣реИред
TextField wayToSaveFile = new TextField("wayToSaveFile", Model.of("")); Button saveButton = new Button("save") { @Override public void onSubmit() { super.onSubmit(); File file = new File(DirectoryInterface.wayToDirs+"/" + wayToSaveFile.getInput()); try { FileWriter fw = new FileWriter(file); fw.write(textArea.getDefaultModelObject().toString()); fw.close(); } catch (Exception e) { System.out.println(e.getMessage()); debud.setDefaultModelObject(e.getMessage()); } } };
рд▓реЗрдХрд┐рди рдмрдЪрдд рдХреЗ рд╕рдордп, рдлрд╝рд╛рдЗрд▓ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдЬрд╛рддреА рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, "рдПрдирдХреНрд░рд┐рдкреНрдЯ" рдФрд░ "рдбрд┐рдХреНрд░рд┐рдкреНрдЯ" рдмрдЯрди рдХреНрд▓рд╛рдЗрдВрдЯ рднрд╛рдЧ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЬреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдФрд░ рдбрд┐рдХреНрд░рд┐рдкреНрд╢рди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди Vigenere рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╣реЛрддрд╛ рд╣реИ, рдореИрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдФрд░ рдЕрд▓рдЧ рд╕реЗ рдХрд╣реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рддрджрдиреБрд╕рд╛рд░, рдЧреНрд░рд╛рд╣рдХ рдХреЛрдб рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
<script> function encryptFun(){ let outputString = ""; let inputString = document.getElementById("text").value; let password = document.getElementById("passwordTextField").value; for (let i = 0; i<inputString.toString().length-1; i++) outputString+=(String.fromCharCode((inputString.toString().charCodeAt(i)+256-password.toString().charCodeAt(i%password.toString().length))%256)); document.getElementById("text").value = outputString; return outputString; }; function decryptFun(){ let outputString = ""; let inputString = document.getElementById("text").value; let password = document.getElementById("passwordTextField").value; for (let i = 0; i<inputString.toString().length-1; i++) outputString+=(String.fromCharCode((inputString.toString().charCodeAt(i)+256+password.toString().charCodeAt(i%password.toString().length))%256)); document.getElementById("text").value = outputString; return outputString; }; </script> тАж <!тАФ -яГа <input wicket:id="wayToSaveFile"class="input"> <button wicket:id = "save" class="input">Save</button> <input id = "passwordTextField" class="input"> <button id = "encrypt" onclick="encryptFun()" class="input"></button> <button id = "decrypt" onclick="decryptFun()" class="input"></button>
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдмрдЯрди рдХреЛ рджрдмрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб рдореЗрдВ рдкрд╛рда рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рджрд┐рдП рдЧрдП рдкрд╛рда рдХреЗ рд╕рд╛рде рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрддред
рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдкрд╛рда рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХреЛрдИ рднреА рдкрд╛рда рдЬреЛ рдХрдиреЗрдХреНрдЯ рдирд╣реАрдВ рд╣реИ, рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред
рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо
рдореИрдВрдиреЗ Vigenere рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рдердо рдХреЛ рдЪреБрдирд╛ рд╣реИ - рдЬреЛ рдХрд┐ рдХреАрд╡рд░реНрдб рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рдмрджрд▓рд╛рд╡ рдХреЗ рд╕рд╛рде рд╕реАрдЬрд╝рд░ рдХреЗ рд╕рд┐рдлрд░ рдХрд╛ рдПрдХ рд░реВрдкрд╛рдВрддрд░ рд╣реИред рдЗрдирдкреБрдЯ рд╕реНрд░реЛрдд рдХреЛрдб рдФрд░ рдордирдорд╛рдиреА рд▓рдВрдмрд╛рдИ рдХреА рдХреБрдВрдЬреАред рдлрд┐рд░ рд╕реНрд░реЛрдд рдкрд╛рда рдХрд╛ i-th рд╕рджрд╕реНрдп j-th рдкрд╛рд╕рд╡рд░реНрдб рдкреНрд░рддреАрдХ рдХреА рд╡рд░реНрдгрдорд╛рд▓рд╛ рдореЗрдВ рдЕрдиреБрдХреНрд░рдо рд╕рдВрдЦреНрдпрд╛ рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ j = i% (рдкрд╛рд╕рд╡рд░реНрдб рд▓рдВрдмрд╛рдИ)ред рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЗрд╖реНрдЯрддрдо рдпрд╛ рдкреНрд░рддрд┐рд░реЛрдзреА рдирд╣реАрдВ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рдкрд░реНрдпрд╛рдкреНрдд рдкрд╛рд╕рд╡рд░реНрдб рд▓рдВрдмрд╛рдИ рдХреЗ рд╕рд╛рде рдпрд╣ рдХреБрдЫ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рдХреНрд░рд┐рдкреНрдЯрд╛рдирд╛рд▓рд┐рд╕рд┐рд╕ рдкрд░ рд╕рд╛рд╣рд┐рддреНрдп рд╕реЗ рд╕рд╛рдордЧреНрд░реА рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд╡рд┐рдЧреЗрдирд┐рдпрд░ рд╕рд┐рдлрд░ "рдкрд╛рда рдореЗрдВ рд╡рд░реНрдгреЛрдВ рдХреА рдШрдЯрдирд╛ рдХреА рдЖрд╡реГрддреНрддрд┐рдпреЛрдВ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ" рдХреЛ рдзреБрдВрдзрд▓рд╛ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд╛рда рдореЗрдВ рдкрд╛рддреНрд░реЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд░рд╣рддреА рд╣реИрдВред рд╡рд┐рдЧреЗрдирд┐рдпрд░ рд╕рд┐рдлрд░ рдХрд╛ рдореБрдЦреНрдп рдиреБрдХрд╕рд╛рди рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕рдХреА рдХреБрдВрдЬреА рджреЛрд╣рд░рд╛рдИ рдЬрд╛рддреА рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╕рд┐рдлрд░ рдХрд╛ рдПрдХ рд╕рд░рд▓ рдХреНрд░рд┐рдкреНрдЯреЛрдХрд░реЗрдВрд╕реА рджреЛ рдЪрд░рдгреЛрдВ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
- рдХреБрдВрдЬреА рд▓рдВрдмрд╛рдИ рдЦреЛрдЬред рдЖрдк рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдП рдЧрдП рдкрд╛рда рдореЗрдВ рдЖрд╡реГрддреНрддрд┐ рд╡рд┐рддрд░рдг рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЕрд▓рдЧ-рдЕрд▓рдЧ рджрд╢рдорд▓рд╡ рдХреЗ рд╕рд╛рде рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣реА рд╣реИ, рдПрдХ рдкрд╛рда рд▓реЗрдВ рдЬрд┐рд╕рдореЗрдВ рд╕рд┐рдлрд░рдЯреЗрдХреНрд╕реНрдЯ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ 2 рдЕрдХреНрд╖рд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдлрд┐рд░ рдкреНрд░рддреНрдпреЗрдХ 3 рдЬреА, рдЖрджрд┐ред рдЬреИрд╕реЗ рд╣реА рдЕрдХреНрд╖рд░реЛрдВ рдХрд╛ рдЖрд╡реГрддреНрддрд┐ рд╡рд┐рддрд░рдг рд╡рд░реНрджреА рд╕реЗ рдмрд╣реБрдд рдЕрд▓рдЧ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдиреНрдЯреНрд░реЙрдкреА рджреНрд╡рд╛рд░рд╛), рд╣рдо рдХреБрдВрдЬреА рд▓рдВрдмрд╛рдИ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
- рдХреНрд░рд┐рдкреНрдЯрдПрдирд╛рд▓рд┐рд╕рд┐рд╕ред рдПрд▓ рд╕реАрдЬрд╝рд░ рд╕рд╛рдЗрдлрд░ (рдЬрд╣рд╛рдВ рдПрд▓ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓рдВрдмрд╛рдИ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рдХрд╛ рдПрдХ рд╕реЗрдЯ, рдЬрд┐рд╕реЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдХреНрд░реИрдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдлреНрд░рд╛рдЗрдбрдореИрди рдФрд░ рдХрд╛рд╕рд┐рд╕реНрдХреА рдкрд░реАрдХреНрд╖рдг рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓рдВрдмрд╛рдИ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╡рд┐рдЬрд╝рдирд░ рдХреА рд╣реИрдХ рдХреА рдПрдХ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рдЪрд░реНрдЪрд╛ рдлрд┐рд░ рд╕реЗ рдЗрд╕ рд▓реЗрдЦ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдкрд░реЗ рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖
рдЗрд╕ рд▓реЗрдЦ рдХреЗ рдврд╛рдВрдЪреЗ рдореЗрдВ, рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ рдЬреЛ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдкрд╛рда рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рднрдВрдбрд╛рд░рдг рдФрд░ рд╕рдВрдЪрд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рд╕рд╛рдЭрд╛ рдкрд╣реБрдВрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдКрдкрд░ рджрд┐рдП рдЧрдП рдХреБрдЫ рдирд┐рд░реНрдгрдп рд╡рд┐рд╡рд╛рджрд╛рд╕реНрдкрдж рд╣реИрдВ рдпрд╛ рдЗрд╖реНрдЯрддрдо рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореВрд▓ рддрд░реНрдХ рдФрд░ рдореВрд▓рднреВрдд рдмрд╛рддреЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
github.com/Toxa-p07a1330/encriptedStorage