2.1 рдЬреЗрдПрд╕рдкреА рдирд┐рд░реНрджреЗрд╢

рдЪреВрдВрдХрд┐ рд╣рдореЗрдВ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ JSP рдлрд╝рд╛рдЗрд▓ рдПрдХ рдирд┐рдпрдорд┐рдд рд╕рд░реНрд╡рд▓реЗрдЯ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЬрд╛рддреА рд╣реИ, рддреЛ рдЖрдк рдЗрд╕рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рдЬрд╛рд╡рд╛ рдХреЛрдб рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдЗрд╕ рдЬрд╛рд╡рд╛ рдХреЛрдб рдореЗрдВ, рдЖрдк рд╡рд┐рднрд┐рдиреНрди рд╡рд░реНрдЧреЛрдВ (рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдЧрдгрд┐рдд) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдФрд░ рднреА рдЕрдЪреНрдЫрд╛ рд╣реИ! рд▓реЗрдХрд┐рди рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕рднреА рдХреЛрдб рдХреЛ doGet()рд╕рд░реНрд╡рд▓реЗрдЯ рд╡рд┐рдзрд┐ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдФрд░ рдпрд╣ рддреБрд░рдВрдд рдХрдИ рд╕рд╡рд╛рд▓ рдЙрдард╛рддрд╛ рд╣реИ:

  • рдЗрд╕реЗ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдП рддрд╛рдХрд┐ рдХреЛрдб рд╡рд┐рдзрд┐ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╣реЛ рдЬрд╛рдП doPost()?
  • рд╡рд┐рдзрд┐ рдореЗрдВ рдЕрдкрдирд╛ рдХреЛрдб рдХреИрд╕реЗ рдЬреЛрдбрд╝реЗрдВ init()?
  • рдХреИрд╕реЗ рдЕрдВрдд рдореЗрдВ рд╡рд░реНрдЧ рдЖрдпрд╛рдд рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП?

рдорд╣рд╛рди рдкреНрд░рд╢реНрди, рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЙрдирдХреЗ рдкрд╛рд╕ рдПрдХ рдЙрддреНрддрд░ рд╣реИ - JSP рдирд┐рд░реНрджреЗрд╢ред рдЬреЗрдПрд╕рдкреА рдХреЗ рднреАрддрд░ рд╕рднреА рдЧреИрд░-рдПрдЪрдЯреАрдПрдордПрд▓ рдХреЛрдб рд╡рд┐рд╢реЗрд╖ рдХреЛрд╖реНрдардХреЛрдВ рдореЗрдВ рд╕рдВрд▓рдЧреНрди рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП <%рдФрд░ %>. рд╕рднреА рдЬреЗрдПрд╕рдкреА рдирд┐рд░реНрджреЗрд╢ рдЯреЗрдореНрдкрд▓реЗрдЯ рджреНрд╡рд╛рд░рд╛ рджрд┐рдП рдЧрдП рд╣реИрдВ:

<%@ directive %>

рдпрд╣рд╛рдВ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдкреЗрдЬ рдбрд╛рдпрд░реЗрдХреНрдЯрд┐рд╡ рдПрдЯреНрд░рд┐рдмреНрдпреВрдЯ рдХреА рд╕реВрдЪреА рджреА рдЧрдИ рд╣реИ:

рдЙрджрд╛рд╣рд░рдг рд╡рд┐рд╡рд░рдг
1 рдЖрдпрд╛рдд <%@ page import="java.util.Date" %> рдПрдХ рд╡рд░реНрдЧ рдЖрдпрд╛рдд рдХрд░рддрд╛ рд╣реИ
2 рд╕рд╛рдордЧреНрд░реА рдкреНрд░рдХрд╛рд░ <%@ page contentType=text/html %> рд╕рд╛рдордЧреНрд░реА рдкреНрд░рдХрд╛рд░ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ
3 рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ <%@ page extends="Object" %> рдЖрдк рдмреЗрд╕ рдХреНрд▓рд╛рд╕ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
4 рдЬрд╛рдирдХрд╛рд░реА <%@ page info="Author: Peter Ivanovich; version:1.0" %> getServletInfo() рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ
5 рдмрдлрд░ <%@ page buffer="16kb" %> рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдмрдлрд╝рд░ рдХрд╛ рдЖрдХрд╛рд░ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ
6 рднрд╛рд╖рд╛ <%@ page language="java" %> рднрд╛рд╖рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЬрд╛рд╡рд╛ рд╣реИ
7 рдЗрдЧреНрдиреЛрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ <%@ page isELIgnored="true" %> рдЖрдкрдХреЛ рдИрдПрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
8 isThreadSafe <%@ page isThreadSafe="false" %> рдереНрд░реЗрдбрд╕реЗрдл рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддрд╛ рд╣реИ
9 autoflush <%@ page autoFlush="false" %> рдмрдлрд╝рд░ рд▓рд┐рдЦрддрд╛ рд╣реИ
10 рд╕рддреНрд░ <%@ page session="false" %> рдЖрдк рдкреГрд╖реНрда рдХреЗ рд▓рд┐рдП рд╕рддреНрд░ рдЕрдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдЧреНрдпрд╛рд░рд╣ рдкреЗрдЬрдПрдиреНрдХреЛрдбрд┐рдВрдЧ <%@ page pageEncoding="UTF-8"%> рдЖрдк рдкреЗрдЬ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
12 рддреНрд░реБрдЯрд┐ рдкреГрд╖реНрда <%@ page errorPage="errorpage.jsp" %> рдЖрдк рдПрдХ рддреНрд░реБрдЯрд┐ рдкреГрд╖реНрда рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

2.2 рдЖрдпрд╛рдд

рдЖрдЗрдП рдордЬрд╝реЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА JSP рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреБрдЫ рдЖрдпрд╛рдд рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдПрдХ рдмреЗрд╕ рдХреНрд▓рд╛рд╕ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВред

рдЬреЗрдПрд╕рдкреА рдлрд╝рд╛рдЗрд▓ рдЙрджрд╛рд╣рд░рдг:

<%@ page import="java.util.Date" %>
  <%@ page import="java.lang.Math" %>
  <%@ page extends="com.codegym.MyHttpServlet" %>

  <html>
  <body>
  <%
      double num = Math.random();
      if (num > 0.95) {
   %>
       <h2>You are lucky, user!</h2><p>(<%= num %>)</p>
  <%
  }
  %>
</body>
 </html>

рдФрд░ рдЗрд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдпрд╣ рд╣реЛрдЧрд╛:

import java.util.Date;
import java.lang.Math;

public class HelloServlet extends com.codegym.MyHttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response)  throws Exception {
    PrintWriter out = response.getWriter();
    out.print("<html>  ");
    out.print("<body> ");
        double num = Math.random();
        if (num >  0.95) {
             out.print("<h2> You're lucky, user! </h2> <p> (" + num + ")</p> ");
        }
    out.print("</body> ");
    out.print("</html> ");
    }
}

рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдорд╣рд╛рди!