కోడ్‌జిమ్/జావా కోర్సు/మాడ్యూల్ 3/JSP: సర్వ్‌లెట్‌ని నిర్వచించడానికి డిక్లరేటివ్ మార్గం

JSP: సర్వ్‌లెట్‌ని నిర్వచించడానికి డిక్లరేటివ్ మార్గం

అందుబాటులో ఉంది

1.1 JSP పరిచయం

సర్వ్లెట్ వ్రాయడానికి రెండు ప్రసిద్ధ మార్గాలు ఉన్నాయి: అత్యవసరం మరియు ప్రకటన . మేము ఇప్పటికే మొదటిదానితో వ్యవహరించాము - ఇది వాస్తవానికి, సర్వ్లెట్. రెండవది JSP (జావా సర్వర్ పేజీలు) అని పిలుస్తారు మరియు మేము ఇప్పుడు దానితో పరిచయం చేస్తాము.

సర్వ్లెట్ JSP ఉదాహరణ:

<html>
    <body>
        <% out.print(2*5); %>
    </body>
 </html>

మేము ఉపయోగించిన క్లాసిక్ సర్వ్‌లెట్‌తో చాలా పోలి ఉండదు, అవునా? ఇది నిజం. JSP అనేది జావా కోడ్ ఇన్సర్ట్‌లతో కూడిన HTML పేజీ (ఆకుపచ్చ రంగులో హైలైట్ చేయబడింది) .

మీరు చూడండి, మీరు సర్వ్‌లెట్‌లో చాలా జావా కోడ్ మరియు తక్కువ HTML కోడ్‌ని కలిగి ఉంటే, మీరు క్లాసిక్ సర్వ్‌లెట్‌ని ఉపయోగించడం మరింత సౌకర్యవంతంగా ఉంటారు . అయితే సర్వర్ ద్వారా రెండు లైన్లు మాత్రమే మార్చబడే పెద్ద HTML పేజీ మీకు అవసరమైతే ఏమి చేయాలి?

ఈ సందర్భంలో, ఈ HTML పేజీని సృష్టించడం మరియు దానిలోని సర్వర్‌లోని జావా కోడ్‌ను ఏదో ఒకవిధంగా అమలు చేయడం చాలా సులభమైన విషయం.

1.2 JSPలను కంపైల్ చేయడం

మరొక ఉదాహరణ చూద్దాం:

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

మేము యాదృచ్ఛిక సంఖ్యను పొందుతాము మరియు అది 0.95 కంటే ఎక్కువ ఉంటే, మేము "మీరు అదృష్టవంతులు, వినియోగదారు!" అనే వచనాన్ని ముద్రిస్తాము.

జావా కోడ్ ఇక్కడ నీలం రంగులో హైలైట్ చేయబడింది . సాధారణ (హైలైట్ చేయబడలేదు) - HTML కోడ్ మరియు ఎరుపు - సేవా ట్యాగ్‌లు , జావా కోడ్ ఎక్కడ ఉందో మరియు HTML ఎక్కడ ఉందో అర్థం చేసుకోవడంలో సహాయపడతాయి.

మీరు విచిత్రమైనదాన్ని గమనించారా? మూసివేసే కర్లీ బ్రేస్ "}"మరొకదానిలో ఉంది "code block". అటువంటి కోడ్ వ్రాయడానికి సరైన మార్గం ఏమిటి? అది కూడా ఎలా పని చేస్తుంది?

సమాధానం చాలా సులభం :)

వెబ్ సర్వర్, అది JSP ఫైల్‌ను కనుగొన్న తర్వాత, దానిని క్లాసిక్ సర్వ్‌లెట్‌గా కంపైల్ చేస్తుంది. పై JSP పేజీ ఆధారంగా, ఈ సర్వ్లెట్ రూపొందించబడుతుంది:

public class HelloServlet extends HttpServlet {
    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>");
    }
}

వెబ్ కంటైనర్ ఇప్పుడే సర్వ్లెట్ కోడ్‌ను రూపొందించింది, ఇక్కడ HTML టెక్స్ట్‌గా మారింది మరియు జావా కోడ్ ఇన్‌సర్ట్‌లు సాధారణ జావా కోడ్‌గా మారాయి!

వ్యాఖ్యలు
  • జనాదరణ పొందినది
  • కొత్తది
  • పాతది
వ్యాఖ్యానించడానికి మీరు తప్పనిసరిగా సైన్ ఇన్ చేసి ఉండాలి
ఈ పేజీకి ఇంకా ఎలాంటి వ్యాఖ్యలు లేవు