2.1 JSP निर्देश

आम्हाला आढळले की JSP फाईल नियमित सर्व्हलेटमध्ये रूपांतरित झाली आहे, त्यानंतर तुम्ही त्यात सामान्य Java कोड लिहू शकता. आणि या जावा कोडमध्ये, तुम्ही विविध वर्ग वापरू शकता (उदाहरणार्थ गणित). हे आणखी चांगले आहे! परंतु आपण पाहू शकतो की सर्व कोड doGet()सर्व्हलेट पद्धतीमध्ये हलविले गेले आहेत. आणि हे त्वरित अनेक प्रश्न उपस्थित करते:

  • ते कसे बनवायचे जेणेकरून कोड मेथडमध्ये हलविला जाईल doPost()?
  • पद्धतीत तुमचा स्वतःचा कोड कसा जोडायचा init()?
  • शेवटी वर्ग आयात कसे नोंदवायचे?

उत्तम प्रश्न, आणि अर्थातच त्यांच्याकडे उत्तर आहे - JSP निर्देश. JSP मधील सर्व नॉन-HTML कोड विशेष कंसात <%आणि %>. सर्व JSP निर्देश टेम्पलेटद्वारे दिलेले आहेत:

<%@ directive %>

येथे सर्वात लोकप्रिय पृष्ठ निर्देश गुणधर्मांची सूची आहे:

उदाहरण वर्णन
आयात <%@ page import="java.util.Date" %> वर्ग आयात करतो
2 सामग्री प्रकार <%@ page contentType=text/html %> सामग्री प्रकार सेट करते
3 विस्तारित करते <%@ page extends="Object" %> तुम्ही बेस क्लास सेट करू शकता
4 माहिती <%@ page info="Author: Peter Ivanovich; version:1.0" %> getServletInfo() साठी डेटा सेट करते
बफर <%@ page buffer="16kb" %> प्रतिसाद बफरचा आकार सेट करते
6 इंग्रजी <%@ page language="java" %> भाषा निर्दिष्ट करते, डीफॉल्ट Java आहे
दुर्लक्षित आहे <%@ page isELIgnored="true" %> तुम्हाला EL स्क्रिप्ट अक्षम करण्याची अनुमती देते
8 isThreadSafe <%@ page isThreadSafe="false" %> थ्रेडसेफकडे निर्देश
ऑटोफ्लश <%@ page autoFlush="false" %> बफर लेखन व्यवस्थापित करते
10 सत्र <%@ page session="false" %> आपण पृष्ठासाठी सत्र अक्षम करू शकता
अकरा पृष्ठ एन्कोडिंग <%@ page pageEncoding="UTF-8"%> तुम्ही पेज एन्कोडिंग सेट करू शकता
१२ त्रुटी पृष्ठ <%@ page errorPage="errorpage.jsp" %> तुम्ही एरर पेज सेट करू शकता

2.2 आयात

मजा करण्यासाठी आमच्या JSP फाईलमध्ये काही आयात जोडू आणि बेस क्लास परिभाषित करू.

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> ");
    }
}

कार्य करते. छान!