рдЖрдк рдЬрд╛рд╡рд╛ рдореЗрдВ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреИрд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╣реИрдВ?

рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдмрд╛рдж, рдЖрдк рдЗрд╕реЗ рдХреИрд╕реЗ рдЪрд▓рд╛рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВ?
рд░рд┐- рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдХрдВрдЯреЗрдирд░
рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдХреЛ рдХрд┐рддрдирд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ?
рдореБрдЭреЗ рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХрд╛ рдореМрдХрд╛ рдорд┐рд▓рд╛: рдбрдмреНрд▓реНрдпреВрдПрдЖрд░-рдлрд╝рд╛рдЗрд▓ рдХреЗ рдкреВрд░реНрдг рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рд╕реЗ рд▓реЗрдХрд░ рдЖрдИрдбреАрдИ рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧ-рдЗрди рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЬреИрд╕реЗ рдХрд┐ MyEclipse, WTP рдФрд░ "рдХрдиреЗрдХреНрдЯрд░реНрд╕" рд╕рд░реНрд╡рд▓реЗрдЯ-рдХрдиреНрд╡рд░реНрдЯрд░реНрд╕ рдХреЗ рд▓рд┐рдПред рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рдЦрд╛рдорд┐рдпрд╛рдВ рд╣реИрдВ, рдЕрдиреНрдп рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ - рд▓реЗрдХрд┐рди рдПрдХ рд╕рд░рд▓ рддрд░реАрдХрд╛ рд╣реИ!
Zapuskalka
рдЗрд╕ рд╡рд┐рдХрд╛рд╕ рд╡рд┐рдзрд┐ рд╕реЗ
рдЖрдк рдЖрд╡реЗрджрди рдХреЛ рдХрдо
рд╕реЗ рдХрдо рдкреБрдирдГ рддреИрдирд╛рддреА рд╕рдордп рдХреЗ рд╕рд╛рде рдпрдерд╛рд╕рдВрднрд╡ рдФрд░
рд▓рдЪреАрд▓реЗ рдврдВрдЧ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░
рд╕рдХрддреЗ рд╣реИрдВ ред рдЖрдкрдХреЛ рдмрд╕ рдореБрдЦреНрдп рд╡рд┐рдзрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░рд▓ рдЬрд╛рд╡рд╛-рдХреНрд▓рд╛рд╕ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛, рдЬреЛ рдЖрд╡рд╢реНрдпрдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ (рддрдерд╛рдХрдерд┐рдд
рдПрдВрдмреЗрдбреЗрдб рдореЛрдб ) рдХреЗ рд╕рд╛рде рдЬреЗрдЯреНрдЯреА рд╕рд░реНрд╡рд░ рдХреЛ рддреБрд░рдВрдд рд╢реБрд░реВ рдХрд░ рджреЗрдЧрд╛ред
рдпрд╣рд╛рдБ рдПрдХ рдиреНрдпреВрдирддрдо рд▓рд╛рдВрдЪрд░ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:
import org.mortbay.jetty.*; import org.mortbay.jetty.nio.SelectChannelConnector; import org.mortbay.jetty.webapp.WebAppContext; public class Launcher { public static void main(String[] args) throws Exception { Server server = new Server(); Connector connector = new SelectChannelConnector(); connector.setPort(8080); server.addConnector(connector); WebAppContext root = new WebAppContext("root/src/main/webapp", "/"); WebAppContext reports = new WebAppContext("reports/src/main/webapp", "/reports"); WebAppContext petclinic = new WebAppContext("petclinic/src/main/webapp", "/petclinic"); server.setHandlers(new Handler[]{root, reports, petclinic}); server.start(); } }
рдпрд╣ рдХреЛрдб рд╕рд░реНрд╡рд░ (рд╕рд░реНрд╡рд▓реЗрдЯ рдХрдВрдЯреЗрдирд░) рдХреЛ рдкреЛрд░реНрдЯ 8080 рдкрд░ рд╕реБрдирдХрд░ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рддреАрди рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдХреЛрдб
рд╕реАрдзреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлреЛрд▓реНрдбрд░ (
root/src/main/webapp
,
reports/src/main/webapp
рдФрд░
petclinic/src/main/webapp
), рдЕрд░реНрдерд╛рдд, рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдХреЛрдИ рднреА рдмрджрд▓рд╛рд╡
рддреБрд░рдВрдд рдкреНрд░рднрд╛рд╡ рдореЗрдВ рдЖрддрд╛ рд╣реИ , рдмрд┐рдирд╛
рдХреБрдЫ рдмрдирд╛рдП рдФрд░ рдлрд┐рд░ рд╕реЗ
рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдмрд┐рдирд╛ред
рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдЬрдм рдЖрдк рдирдП рддрд░реАрдХреЗ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкреБрдирд░рд╛рд░рдВрдн рдЬрд┐рддрдиреА рдЬрд▓реНрджреА рд╣реЛ рд╕рдХреЗ, рд╢рд╛рдмреНрджрд┐рдХ рд░реВрдк рд╕реЗ рдПрдХ рд╕реЗрдХрдВрдб рдХреЗ рднреАрддрд░ рд╣реЛрддрд╛ рд╣реИ (рдмреЗрд╢рдХ, рдпрджрд┐ рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдХреБрдЫ рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ)ред рдпрджрд┐ рдЖрдк
рдЗрд╕ рдкрд░ JRebel рдХреЛ рднреА рдкреЗрдВрдЪ
рдХрд░рддреЗ рд╣реИрдВ , рддреЛ рдпрд╣ рдЖрдо рддреМрд░ рдкрд░ рдЪреЙрдХрд▓реЗрдЯ рд╣реЛрдЧрд╛ред
рдпрд╣реА рдЪрд╛рд▓ рд╣реИред
рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ
рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдЖрдк рдЬреЗрдЯреНрдЯреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЯреЙрдордХреИрдЯ, рдЬреЗрдмреЙрд╕ рдпрд╛ рд╡реЗрдмрд▓реЙрдЬрд┐рдХ рдЬреИрд╕реЗ рдХреБрдЫред рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛, рд╣рдо рд╡рд┐рдХрд╛рд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдЧрддрд┐, рд╕реНрдерд┐рд░рддрд╛, рдЖрджрд┐ред рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реЗрдЯрдЕрдк рдореЗрдВ рдЖрд╕рд╛рдиреА, рд▓реЙрдиреНрдЪ рдХреА рдЧрддрд┐ рдФрд░ рдлрд┐рд░ рд╕реЗ рддреИрдирд╛рддреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВред рдФрд░ рдпрд╣рд╛рдБ рдПрдВрдмреЗрдбреЗрдб рдЬреЗрдЯреНрдЯреА рд╣реИ рдЬреЛ рдбреЙрдХреНрдЯрд░ рдиреЗ рдЖрджреЗрд╢ рджрд┐рдпрд╛ рдерд╛ред
рдЖрдк рдЗрд╕ рдореБрдЦреНрдп рд╡рд░реНрдЧ рдХреЛ рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рдЖрдИрдбреАрдИ, рдбрд┐рдмрдЧ, рдЯреЗрд╕реНрдЯ, рд░рд┐рд╕реНрдЯрд╛рд░реНрдЯ рд╕реЗ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ; рдФрд░ рдХреЛрдИ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдПрдХреНрд╕рдПрдордПрд▓ рдореЗрдВ рддрд▓реНрд▓реАрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЕрдкрдиреА рдЙрдВрдЧрд▓рд┐рдпреЛрдВ рдкрд░ рд╕рднреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ред рдпрд╣реА рдЬреАрд╡рди рд╣реИ!
рдиреНрдпреВрдирддрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреЗрд╡рд▓ рддреАрди рдЬрд╛рд░-рдлрд╛рдЗрд▓реЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВ: рд╕рд░реНрд╡рд▓реЗрдЯ-рдПрдкреА.рдЬрд░ , рдЬреЗрдЯреНрдЯреА.рдЬрд░ , рдЬреЗрдЯреНрдЯреА-рдпреВрдЬрд╝ редрдЬрд░ ред
[UPD] рдЬреИрд╕рд╛ рдХрд┐
kblcuk рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИ, рджрд┐рдП рдЧрдП рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХреЛрдб рдХреЗрд╡рд▓ Jetty 6 рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред Jetty рдХреЗ рд╕рд╛рддрд╡реЗрдВ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рд╢реБрд░реВ рд╣реЛрдХрд░, рд╕рдВрдХреБрд▓ рдФрд░ рд╡рд░реНрдЧреЛрдВ рдХреЗ рдирд╛рдо org.mortbay.jetty рд╕реЗ
рдмрджрд▓ рджрд┐рдП рдЧрдП рд╣реИрдВред * To org.eclipse -jettyред *, рддреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ рдареАрдХ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЖрдпрд╛рддред
рдЯреНрдпреВрдирд┐рдВрдЧ
рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдЬреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддреА рд╣реИрдВред
рдХреНрд▓рд╛рд╕ рд▓реЛрдбрд░
рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рдПрдХ рд▓реЛрдбрд░ (ClassLoader) рдореЗрдВ рд╕рднреА рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рдХрдХреНрд╖рд╛рдУрдВ рдФрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЖрдкрдХреЗ рд▓рд┐рдП рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд╡рд░реНрдЧреЛрдВ рдФрд░ рдирд┐рд░реНрднрд░рддрд╛рдПрдВ (рдЬрд╛рд░) рд╣реИрдВ, рддреЛ рдпрд╣ рдереЛрдбрд╝рд╛ рдХреЛрдб рдЬреЛрдбрд╝рдХрд░ рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
WebAppContext petclinic = new WebAppContext("petclinic/src/main/webapp", "/petclinic"); WebAppClassLoader classLoader = new WebAppClassLoader(petclinic); classLoader.addClassPath("petclinic-core/target/classes"); classLoader.addClassPath("petclinic-services/target/classes"); petclinic.setClassLoader(classLoader);
рдореИрдВрдиреЗ рд╕реНрд╡рдпрдВ рдЗрд╕рдХрд╛ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрдм рдореБрдЭреЗ рдПрдХ рд╕рд╛рде рдХрдИ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА, рдкреНрд░рддреНрдпреЗрдХ рдЗрд╕рдХреА (рдкрд░рд╕реНрдкрд░ рд╡рд┐рд░реЛрдзреА) рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рдеред рдмрд╣реБрдд рд╕рд░рд▓, рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХред
JSP
рдкреБрд░рд╛рдиреЗ рд╕рдордп рдХреЗ рд▓реЛрдЧ рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЕрд╡рд┐рд╕реНрдорд░рдгреАрдп рд╕рдордп рдореЗрдВ рдЬреЗрдПрд╕рдкреА рдЬреИрд╕реА рдЪреАрдЬ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдЕрдХреНрд╕рд░ HTML рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рдерд╛ред рдпрджрд┐ JSP рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдХреБрдЫ рдФрд░ рдирд┐рд░реНрднрд░рддрд╛рдПрдБ
рдЬреЛрдбрд╝рдиреА рд╣реЛрдВрдЧреА :
рдЧреНрд░рд╣рдг-jdtcore.jar ,
jsp-api-2.1-glassfish.jar ,
jsp-2.1-glassfish.jarJDBC рд╕рдВрд╕рд╛рдзрди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди
рд╢рд╛рдпрдж рдПрдХ рд╕рд░рд▓ рдЙрдкрд╛рдп рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛:
import import javax.naming.InitialContext; import com.atomikos.jdbc.nonxa.AtomikosNonXADataSourceBean; static void setupDataSources() { System.setProperty("java.naming.factory.initial", "org.mortbay.naming.InitialContextFactory"); AtomikosNonXADataSourceBean dataSource = new AtomikosNonXADataSourceBean(); dataSource.setUniqueResourceName("jdbc/portal"); dataSource.setDriverClassName("com.mysql.jdbc.Driver"); dataSource.setUrl("jdbc:mysql://localhost:3306/mydb"); dataSource.setUser("myusername"); dataSource.setPassword("mypassword"); dataSource.setMaxPoolSize(10); new InitialContext().createSubcontext("jdbc").bind("portal", dataSource); }
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдк рд╕реЗ рдереЛрдбрд╝реА рдЕрдзрд┐рдХ рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА: рд▓реЗрди -рджреЗрди.рдЬрд░ , рдЬреЗрдЯреНрдЯреА-рдирд╛рдордХрд░рдг.рдЬрд░ , рд▓реЗрдирджреЗрди-рдПрдкреА.рдЬрд░ , рд▓реЗрдирджреЗрди-рдЬреЗрдЯрд╛.рдЬрд░ , рд▓реЗрдирджреЗрди- jdbc.jar , рдПрдЯрдорд┐рдХреЛрд╕-рдпреВрдЬрд╝рд░ред
рдХреНрдпрд╛ рдереЛрдбрд╝рд╛ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ?
рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛред
рдпрджрд┐ рдЖрдкрдХрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдкрддрд╛ рдпрд╛ рдкрд╛рд╕рд╡рд░реНрдб рдЕрдХреНрд╕рд░ рдмрджрд▓рддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдкрдврд╝рдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╕рдВрднрд╡ рд╣реИред рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдпрд╣ рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рд╣реИ? рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╕рднреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд┐рд╕ рддрд░рд╣ рдХреА рдлрд╝рд╛рдЗрд▓ рд╣реИ - рдЬрд╛рд╡рд╛ рдХреНрд▓рд╛рд╕ рдпрд╛ * .рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА - рдХреНрдпрд╛ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИ?
рдпрджрд┐ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рд╕реВрдЪреА рд▓рдЧрд╛рддрд╛рд░ рдмрджрд▓ рд░рд╣реА рд╣реИ, рддреЛ рдпрд╣ рдЧреНрд░рд╣рдг рдпрд╛ рдЖрдИрдбреАрдИрдП рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд▓рдЧрдЗрди рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЬреЗрдЯреНрдЯреА рдХреЛ рдЙрди рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рддрд╛ рд╣реИ рдЬреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЧреНрд░рд╣рдг рдореЗрдВ рд╣реИрдВред рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдкреНрд▓рдЧрдЗрди рдХрд╛ рд╡рд░реНрдгрди
рдпрд╣рд╛рдВ рдХрд┐рдпрд╛ рдЧрдпрд╛
рд╣реИ - рдпрд╣ рдЙрди рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдвреВрдВрдврддрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдПрдХ web.xml рдлрд╝рд╛рдЗрд▓ рд╣реИ, рдФрд░ рд╢реЗрд╖ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдХреНрд▓рд╛рд╕рдкрд╛рде рдореЗрдВ рдЬреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред
рд╡рд┐рдкрдХреНрд╖
рдирд┐рд╖реНрдкрдХреНрд╖рддрд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ рдЫрд┐рдкреА рдХреБрдЫ рдХрдорд┐рдпреЛрдВ рдХрд╛ рдирд╛рдо рджреЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред
- (рдХрд╛рд▓реНрдкрдирд┐рдХ рдорд╛рдЗрдирд╕) рдЬреЗрдЯреНрдЯреА рдХрдВрдЯреЗрдирд░ рдЯреЙрдордХреИрдЯ, рдЬреЗрдмреЙрд╕, рд░реЗрдЬрд┐рди, рдЖрджрд┐ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдиреАрдЪ рд╣реИред
рдмрдХрд╡рд╛рд╕ред рд╣рдо рдЕрднреА рд╡рд┐рдХрд╛рд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ - рдпрд╣рд╛рдВ рдкреНрд░рджрд░реНрд╢рди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИред
рд╡реИрд╕реЗ, рдпрд╣ рдПрдХ рдФрд░ рд╕рд╡рд╛рд▓ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдиреАрдЪ рд╣реИред
- (рдХрд╛рд▓реНрдкрдирд┐рдХ рдорд╛рдЗрдирд╕) рдЬреЗрдЯреНрдЯреА рдХрдВрдЯреЗрдирд░ рдЕрд╕реНрдерд┐рд░ рд╣реИ / рдХрднреА-рдХрднреА рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ / рдЬрд┐рд╕рдореЗрдВ рдореЗрдореЛрд░реА рд▓реАрдХ рд╣реЛрддрд╛ рд╣реИред
рдмрдХрд╡рд╛рд╕ред рдкрд┐рдЫрд▓рд╛ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рджреЗрдЦреЗрдВред
- рдпрджрд┐ рдЖрдкрдХрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрдВрдЯреЗрдирд░ (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ WebLogic рдпрд╛ Oracle AS) рдХреА рдХреБрдЫ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдпрд╣ рдЬреЗрдЯреНрдЯреА рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред
рд╢рд╛рдпрдж рдХреБрдЫ рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рдирд╣реАрдВ рд╣реИред рдореИрдВ рдХреЗрд╡рд▓ рдЖрдкрдХреЛ рд╕рд▓рд╛рд╣ рджреЗ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдРрд╕реА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ рддрд╛рдХрд┐ рдЖрдкрдХрд╛ рдЖрд╡реЗрджрди рдХрдВрдЯреЗрдирд░ рдкрд░ рдирд┐рд░реНрднрд░ рди рд╣реЛред
- рдХрднреА-рдХрднреА рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдПрдВрдмреЗрдбреЗрдб рдЬреЗрдЯреНрдЯреА рдореЛрдб рдореЗрдВ рдЖрдкрдХреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдареАрдХ рдЪрд▓рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдпрд╣ рдпреБрджреНрдз рдореЗрдВ рдЗрдХрдЯреНрдард╛ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕рд░реНрд╡рд░ рдкрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рд╣реЛрддрд╛ рд╣реИ рддреЛ рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдпрд╣ рджреБрд░реНрд▓рдн рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдХреНрд▓рд╛рд╕ рд▓реЛрдбрд░ рдпрд╛ рдЬрд╛рд░ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдХрд╛рд░рдг рддреНрд░реБрдЯрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИред
рд╡рд┐рдХрд▓реНрдк
рд░реБрдЪрд┐ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЕрдкрдиреЗ рд╡реНрдпрдХреНрддрд┐рдкрд░рдХ рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЗ рд╕рд╛рде рдЬрд╛рд╡рд╛ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реИрдХрд▓реНрдкрд┐рдХ рддрд░реАрдХреЗ рд╕реВрдЪреАрдмрджреНрдз рдХрд░реВрдВрдЧрд╛ред
- WAR рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкреВрд░реНрдг рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдФрд░ Tomcat / webapps рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдирд╛ред
рд╕рдмрд╕реЗ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдФрд░ рд╕рдмрд╕реЗ рдзреАрдорд╛ рд╕рдорд╛рдзрд╛рдиред рдкреНрд░рддреНрдпреЗрдХ рд╕реАрдПрд╕рдПрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ 1-15 рдорд┐рдирдЯ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ! рдирд╣реАрдВ, рдзрдиреНрдпрд╡рд╛рджред
рдХрдо: рдмрд╣реБрдд рд▓рдВрдмрд╛ рд╣реИред
рдорд╛рдЗрдирд╕: рдЖрдкрдХреЛ рдбрд┐рдмрдЧ рдХреЛ рдЕрд▓рдЧ рд╕реЗ (рд░рд┐рдореЛрдЯ рдбрд┐рдмрдЧ) рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднреА рднреА рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред - MyEclipse
рднреБрдЧрддрд╛рди-рдЖрдзрд╛рд░рд┐рдд рдЖрдИрдбреАрдИред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╕рдордп, рдпрд╣ рд╕рднреА рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХреЙрдкреА рдХрд░рддрд╛ рд╣реИ - рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рднрдпрд╛рдирдХ рд░реВрдк рд╕реЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдХрд╛рдо рдХрд░рддрд╛ рдерд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореЗрд░реЗ рдкрд╛рд╕ рд╕реЗрдЯрд┐рдВрдЧ рд╕реЗ рдкрд░реЗрд╢рд╛рдирд┐рдпреЛрдВ рд╕реЗ рдЕрдкреНрд░рд┐рдп рдпрд╛рджреЗрдВ рд╣реИрдВред - рдЧреНрд░рд╣рдг WTP (рд╡реЗрдм рдЯреВрд▓ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо) рдЧреНрд░рд╣рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ рд▓реЗрдХрд┐рди рднрд╛рд░реА рдкреНрд▓рдЧрдЗрди рд╣реИ
рдореИрдВрдиреЗ рдХрдИ рдмрд╛рд░ рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдореБрдЭреЗ рдЬрд╝рд░реВрд░рдд рдереА, рдЙрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ред
рдкреНрд▓рд╕: рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ (рдЯреЙрдордХреИрдЯ, рдЬреЗрдмреЙрд╕, рдЖрджрд┐)
[UPD] рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣рд╛рдБ рдкрд░ рдЕрд╡рд▓реЛрдХ рдмрд╛рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рджрд░реНрдж рд░рд╣рд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдПрдХреНрд▓рд┐рдкреНрд╕ WTP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░рддрд╛ рд╣реИред
- рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕рд░реНрд╡рд░ рдПрдХреАрдХрд░рдг
WTP рд╕рд╛рджреГрд╢реНрдп рдЧреНрд░рд╣рдг, рдХреЗрд╡рд▓ Intellij IDEA рдХреЗ рднреБрдЧрддрд╛рди рдХрд┐рдП рдЧрдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИред
рдорд╛рдЗрдирд╕: рднреБрдЧрддрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ред - JRebel
рдЕрдкрдиреЗ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдХреЗ рдЕрд▓рд╛рд╡рд╛, JRebel рдЖрдкрдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рд╕реЗ рд╕реАрдзреЗ ClassPath рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдорд╛рдЗрдирд╕: рдЬреЗрдмреНрд░реЗрд▓ рдиреЗ рднреБрдЧрддрд╛рди рдХрд┐рдпрд╛ред
рдкреНрд▓рд╕: рдпрджрд┐ рдЖрдкрдХрд╛ рдирд┐рдпреЛрдХреНрддрд╛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдмрд╛рд╣рд░ рдирд┐рдХрд▓рддрд╛ рд╣реИ, рддреЛ рдЬреЗрдмреНрд░реЗрд▓ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рдХрд╛рдо рдХреЛ рдмрд╣реБрдд рд╕рд░рд▓ рдФрд░ рддреЗрдЬ рдХрд░ рд╕рдХрддрд╛ рд╣реИред - рдЦреЗрд▓рдиреЗ рдХреЗ рд▓рд┐рдП! рдврд╛рдВрдЪрд╛
рд╕реАрдзреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЪрд▓рд╛рдиреЗ рдФрд░ рдлреНрд▓рд╛рдИ рдкрд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХреЛрдб рдХреЛ рдЕрдзрд┐рднрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдоред рдмрд╣реБрдд рд╕рд╣рдЬ рд╣реИред
рдорд╛рдЗрдирд╕: рдЖрдк рдПрдХ рдврд╛рдВрдЪреЗ рддрдХ рд╕реАрдорд┐рдд рд╣реИрдВ, рдЬрд┐рд╕рдХреА рдЕрдкрдиреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдФрд░ рд╕реАрдорд╛рдПрдБ рд╣реИрдВред - рдЬреЗрдЯ рдЬреЗрдЯ рдЪрд▓рд╛рдПрдВ
рдЧреНрд░рд╣рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд▓рдЧрдЗрди рдЬреЛ рдЖрдкрдХреЛ рд╕реАрдзреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд╛рде рдЬреЗрдЯреНрдЯреА рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╡рд╣ рдареАрдХ рд╡реИрд╕рд╛ рд╣реА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИред
рдкреНрд▓рд╕: рдЗрд╕рдореЗрдВ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЖрдкрдХреЛ рдкреНрд▓рдЧрдЗрди рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдФрд░ рдХреБрдЫ рднреА рдбрд╛рдЙрдирд▓реЛрдб рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИред
рдорд╛рдЗрдирд╕: рдХреЗрд╡рд▓ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЪрд▓ рд╕рдХрддреА рд╣реИред
рдорд╛рдЗрдирд╕: рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ред рдЖрдкрдХреЛ рдЗрд╕реЗ рд╡реИрд╕реЗ рднреА рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рд╕реЗ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред - [UPD] рдЬреЗрдЯреНрдЯреА рдорд╛рд╡реЗрди рдкреНрд▓рдЧрдЗрди
рдЬреИрд╕рд╛ рдХрд┐ 1nd1go рдмрддрд╛рддрд╛ рд╣реИ, рдпрджрд┐ рдЖрдкрдХрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдорд╛рд╡реЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдк "рдорд╛рд╡реЗрди mvn jetty:run
" рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдкреНрд▓рд╕: рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдЖрдИрдбреАрдИ рдореЗрдВ рдорд╛рд╡реЗрди рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕ рдХрдорд╛рдВрдб рдХреЛ рд╕реАрдзреЗ рдЖрдИрдбреАрдИ рд╕реЗ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ; рдЙрд╕реА рд╕рдордп рдЖрдк рдбрд┐рдмреЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЬреЗрдЯреНрдЯреА рдкреНрд▓рдЧрдЗрди рдЙрд╕реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЪрд▓рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдорд╛рд╡реЗрдиред
рдХрдо: рдЖрдк рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо (рдорд╛рд╡реЗрди) рдФрд░ рдЖрдИрдбреАрдИ рд╕реЗ рдмрдВрдзреЗ рд╣реИрдВред - [UPD] рдЬреЗрдЯреНрдЯреА рдЧреНрд░реЗрдб рдкреНрд▓рдЧрдЗрди
рдпрджрд┐ рдЖрдкрдХрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ gradle jettyRun
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдк " gradle jettyRun
" gradle jettyRun
рд╕рд╛рде рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдкреНрд▓рд╕: рдпрд╣ рдХрдорд╛рдВрдб рдЖрдИрдбреАрдИ (рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдХрд┐рд╕реА рднреА рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рдмрд┐рдирд╛) рд╕реЗ рд╕реАрдзреЗ рд╣реИ, рдФрд░ рдЖрдк рдЗрд╕реЗ рдбреАрдмрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдХрдо: рдЖрдк рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо (рд╢реНрд░реЗрдгреА) рд╕реЗ рдмрдВрдзреЗ рд╣реИрдВред - [UPD] Sysdeo Eclipse Tomcat Launcher рдкреНрд▓рдЧрдЗрди
рдЬреИрд╕рд╛ рдХрд┐ helions8 рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ, рдЧреНрд░рд╣рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ Sysdeo Tomcat рд▓рд╛рдВрдЪрд░ рдкреНрд▓рдЧрдЗрди рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдЯрдорд╛рдЯрд░ рдФрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╕рдВрджрд░реНрдн рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдпреБрджреНрдз рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд╕рдВрд▓рдЧреНрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдХрд┐рд╕реА рднреА рд╕реАрдПрд╕рдПрд╕, рдПрдЪрдЯреАрдПрдордПрд▓ рдФрд░ рдЕрдиреНрдп рдЬреЗрдПрд╕ рдХреЛ рддреБрд░рдВрдд рдЧрд░реНрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрдирдГ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЧрд░реНрдо рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ, рдпрд╣ рдкреНрд▓рдЧрдЗрди рд╣рдорд╛рд░реЗ рд▓реЙрдиреНрдЪрд░ рдХреЗ рд╕рдорд╛рди рд╣реА рд╣реИред
рдХрдо: рдЖрдк рдЧреНрд░рд╣рдг рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реИрдВред
рдорд╛рдЗрдирд╕: рдЕрдзрд┐рдХ рдЙрдкрджреНрд░рд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЖрдкрдХреЛ рдЯреЙрдордХреИрдЯ рдХреЛ рдЦреБрдж рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдХреБрдЫ рдирдП "рдЯреЙрдордХреИрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ" рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ - рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдПрдХ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдЙрдкрдХрд░рдг, рд▓реЗрдХрд┐рди рд╢реБрд░реВ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред - [UPD] рд╕реНрдкреНрд░рд┐рдВрдЧ рд╕реЛрд░реНрд╕ рдЯреВрд▓ рд╕реВрдЯ
рдЬреИрд╕рд╛ рдХрд┐ alexeygrigorev рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИ, рдЧреНрд░рд╣рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдкреНрд░рд┐рдВрдЧ рд╕реНрд░реЛрдд рдЯреВрд▓ рд╕реВрдЯ рдкреНрд▓рдЧрдЗрди рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд "рдкрд░рд┐рд╖реНрдХреГрдд рдЯреЙрдордХрдЯ" рд╣реИ рдЬреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рд╣реЗрдЬрддреЗ рд╕рдордп рдлрд┐рд░ рд╕реЗ рддреИрдпрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ
рдХрдо: рдЖрдк рдЧреНрд░рд╣рдг рдФрд░ рдПрд╕рдЯреАрдПрд╕ рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реИрдВред
рдпрд╣ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИ рдХрд┐
рдПрдореНрдмреЗрдбреЗрдб рдореЛрдб рдореЗрдВ рди рдХреЗрд╡рд▓ рдЬреЗрдЯреНрдЯреА, рдмрд▓реНрдХрд┐
рдЯреЙрдордХреИрдЯ ,
рдЧреНрд▓рд╛рд╕рдлрд┐рд╢ , рдЖрджрд┐ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрдВрдЯреЗрдирд░ рдорд╣рддреНрд╡рд╣реАрди рд╣реИ, рд╕рд┐рджреНрдзрд╛рдВрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ: рдХреЛрдИ рд▓рдВрдмрд╛ рдкреБрдирд░рд╛рд╡рд░реНрддрди, рд╕реНрдерд╛рдкрдирд╛, рдЕрдирдкреИрдХрд┐рдВрдЧ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рдиред рд╕рдм рдХреБрдЫ рдЬрд▓реНрджреА рдФрд░ рдмрд╕ рдПрдХ рд╡рд░реНрдЧ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред
рдореИрдВ рд╕реНрд╡рдпрдВ рдХрдИ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдореИрдВ рдмрд╛рдХреА рд╕рднреА рдХреЛ рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред рдЗрд╕рд▓рд┐рдП рдЖрдк рдЕрд╕реЗрдВрдмрд▓реА рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЗ рдЖрд╕рдкрд╛рд╕ рд╣рд▓рдЪрд▓ рдкрд░ рдХрдо рд╕рдордп рдмрд┐рддрд╛рдПрдВрдЧреЗ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд┐рдХрд╛рд╕ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрд╕реЗ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ!