కోడ్‌జిమ్/జావా కోర్సు/మాడ్యూల్ 3/సర్వ్‌లెట్‌లో రిక్వెస్ట్‌లను అందిస్తోంది

సర్వ్‌లెట్‌లో రిక్వెస్ట్‌లను అందిస్తోంది

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

2.1 HttpServletRequest తరగతి

అభ్యర్థన నుండి అందుకున్న సమాచారం ఆధారంగా మీ సర్వ్లెట్ చాలా పనిని చేయాల్సి ఉంటుంది. వస్తువు దానికి బాధ్యత వహిస్తుంది HttpServletRequest, కంటైనర్ మీ సర్వ్‌లెట్‌కు పంపబడుతుంది (పద్ధతి serviceలేదా పద్ధతులు doGet()మొదలైనవి doPost())

ఈ వస్తువు చాలా కొన్ని పద్ధతులను కలిగి ఉంది, ఎందుకంటే ఇది కేవలం అభ్యర్థన డేటాను నిల్వ చేస్తుంది మరియు దాని ద్వారా మీరు కంటైనర్‌తో పరస్పర చర్య చేయవచ్చు.

పద్ధతులను 2 పెద్ద సమూహాలుగా విభజించవచ్చు:

  • వినియోగదారు అధికారానికి సంబంధించిన పద్ధతులు
  • అభ్యర్థన డేటాతో పని చేసే పద్ధతులు

నేను వినియోగదారు అధికార పద్ధతులను పట్టిక రూపంలో ఇస్తాను, కానీ మేము వాటిని విశ్లేషించము. వాస్తవం ఏమిటంటే అవి వినియోగదారుని అధికారం ఇవ్వడానికి చాలా అరుదుగా ఉపయోగించబడతాయి. అన్ని జనాదరణ పొందిన ఫ్రేమ్‌వర్క్‌లు అధికారం కోసం వాటి స్వంత, మరింత అధునాతన విధానాలను ఉపయోగిస్తాయి.

నేను వాటిని జాబితా చేయాలి, కానీ మళ్ళీ, ఎవరూ వాటిని ఉపయోగించడం నేను చూడలేదు.

పద్ధతి వివరణ
1 authenticate(HttpServletResponse) ప్రతిస్పందన ప్రమాణీకరణను నిర్వహిస్తుంది
2 changeSessionId() సెషన్ IDని బలవంతంగా మార్చండి
3 getAuthType() ఉపయోగించిన ప్రమాణీకరణ రకాన్ని అందిస్తుంది: ASIC_AUTH, FORM_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH
4 getRemoteUser() వినియోగదారు లాగిన్‌ని అందిస్తుంది
5 getRequestedSessionId() క్లయింట్ యొక్క SessionIDని అందిస్తుంది
6 getSession() HttpSession ఆబ్జెక్ట్‌ను అందిస్తుంది
7 getUserPrincipal() java.security.Principal ఆబ్జెక్ట్‌ని అందిస్తుంది
8 login(username, password) వినియోగదారు లాగిన్‌ని అమలు చేస్తుంది
9 logout() వినియోగదారు సెషన్‌ను లాగ్ అవుట్ చేస్తుంది

2.2 డేటాను అభ్యర్థించండి

రెండవ సమూహం పద్ధతులు మరింత ఆసక్తికరంగా ఉంటాయి. అభ్యర్థనలో మాకు ఎలాంటి డేటా ఉంది?

  • http పద్ధతి
  • URI
  • ఎంపికలు
  • శీర్షికలు

వారితో పనిచేయడానికి ఏ పద్ధతులు అందుబాటులో ఉన్నాయో చూద్దాం:

పద్ధతి వివరణ
1 getMethod() HTTP పద్ధతిని అందిస్తుంది: GET, POST, DELETE, ...
2 getRequestURI() అభ్యర్థన URIని అందిస్తుంది: http://codegym.cc/my/data
3 getRequestURL() అభ్యర్థన URLని అందిస్తుంది: http://codegym.cc/my/data
4 getQueryString() రిటర్న్స్ క్వెరీ, అంటే ?
5 getParameterMap() ప్రశ్న పారామితుల జాబితాను అందిస్తుంది
6 getParameter(String name) దాని పేరుతో పరామితి విలువను అందిస్తుంది
7 getContentType() MimeType అభ్యర్థన బాడీని అందిస్తుంది
8 getReader() అభ్యర్థన బాడీని టెక్స్ట్‌గా చదవడానికి రీడర్
9 getInputStream() అభ్యర్థన విషయాన్ని బైట్‌గా చదవడానికి ఇన్‌పుట్ స్ట్రీమ్[]
10 getSession() HttpSession ఆబ్జెక్ట్‌ను అందిస్తుంది
పదకొండు getCookies() కుక్కీ[] ఆబ్జెక్ట్‌ల శ్రేణిని అందిస్తుంది
12 getHeaderNames() శీర్షికలు, పేర్లు మాత్రమే జాబితాను అందిస్తుంది
13 getHeader(String name) పేరు ద్వారా హెడర్ విలువను అందిస్తుంది
14 getServletPath() సర్వ్‌లెట్‌ని సూచించే URL యొక్క భాగాన్ని అందిస్తుంది
15 getContextPath() అభ్యర్థన యొక్క కంటెంట్‌ను పేర్కొనే URI భాగాన్ని అందిస్తుంది

మరియు అది కూడా అన్ని పద్ధతులు కాదు ...

మేము HTTP ప్రోటోకాల్‌ను అధ్యయనం చేసిన తర్వాత మరియు HttpClientతో ఎలా పని చేయాలో నేర్చుకున్న తర్వాత, ఇక్కడ ప్రతిదీ ఎక్కువ లేదా తక్కువ తెలిసినది, కాదా?

టెక్స్ట్ మరియు రంగును పాస్ చేయగలిగే సర్వ్‌లెట్‌ని వ్రాద్దాం మరియు అది పేర్కొన్న రంగులో వ్రాసిన టెక్స్ట్‌తో ఒక HTML పేజీని అందిస్తుంది. మీరు ఆలోచనను ఎలా ఇష్టపడతారు?

మా సర్వ్‌లెట్‌ని వ్రాయడం ద్వారా ప్రారంభిద్దాం:

public class ColorTextServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws Exception {
          //write your code here
    }
}

ఇప్పుడు మనం URI నుండి వినియోగదారు ద్వారా టెక్స్ట్ మరియు రంగును పొందాలి:

public class ColorTextServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws Exception {

        // Getting the parameter “text” and “color” from request
        String text= request.getParameter("text");
        String color = request.getParameter("color");

    }
}

చివరగా, మీరు టెక్స్ట్‌ని HTML గా అవుట్‌పుట్ చేయాలి. మేము దీనిని తదుపరి ఉపన్యాసంలో కవర్ చేస్తాము, కానీ ఇక్కడ నేను ఒక చిన్న సూచన ఇస్తాను:

public class ColorTextServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws Exception {

        // Get the "text" and "color" parameters from the request
        String text = request.getParameter("text");
        String color = request.getParameter("color");


        // Print the HTML as a response to the browser
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out =  response.getWriter();
        try {
            out.println("<html>");
            out.println("<head> <title> ColorTextServlet </title> </head>");
            out.println("<body>");
            out.println("<h1 style="color:"+color+">"+text+"</h1>");
            out.println("</body>");
            out.println("</html>");
        } finally {
            out.close();
        }
    }
}
వ్యాఖ్యలు
  • జనాదరణ పొందినది
  • కొత్తది
  • పాతది
వ్యాఖ్యానించడానికి మీరు తప్పనిసరిగా సైన్ ఇన్ చేసి ఉండాలి
ఈ పేజీకి ఇంకా ఎలాంటి వ్యాఖ్యలు లేవు