Feedback Form

Reading GET Parameters: getParameter(), getParameterValues(), getQueryString()

GET Parameters in Servlet: getParameter(), getParameterValues(), getQueryString()

GET Parameters क्या होते हैं?

Servlet में जब हम client (जैसे browser) से data भेजते हैं, तो वो data URL के साथ query string के रूप में जाता है। इस data को हम GET Parameters कहते हैं। ये parameters URL के बाद ? के बाद लिखे जाते हैं, और key-value pair के रूप में होते हैं।

उदाहरण के लिए अगर URL ऐसा है:

https://example.com/student?name=Ravi&roll=101

तो यहाँ name और roll हमारे GET parameters हैं।

Servlet में इन parameters को कैसे पढ़ते हैं?

Servlet API हमें तीन main methods देता है जिनसे हम GET parameters को access कर सकते हैं:

  • getParameter(String name)
  • getParameterValues(String name)
  • getQueryString()

1. getParameter() Method

Purpose: किसी single parameter की value प्राप्त करने के लिए।

Syntax:

String value = request.getParameter("parameterName");

Explanation:

यह method तब use होती है जब हमें किसी form field या URL parameter की single value चाहिए। उदाहरण के लिए, अगर user का name या roll number लेना है।

Example:

@WebServlet("/studentInfo")
public class StudentServlet extends HttpServlet {
  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
    String name = request.getParameter("name");
    String roll = request.getParameter("roll");
    response.getWriter().println("Name: " + name);
    response.getWriter().println("Roll: " + roll);
  }
}

Browser Output:

अगर URL है http://localhost:8080/studentInfo?name=Ravi&roll=101

तो output होगा:

  • Name: Ravi
  • Roll: 101

Key Points:

  • अगर parameter exist नहीं करता तो method null return करती है।
  • अगर same parameter multiple बार लिखा गया हो, तो ये method first value return करती है।

2. getParameterValues() Method

Purpose: किसी parameter की multiple values प्राप्त करने के लिए।

Syntax:

String[] values = request.getParameterValues("parameterName");

Explanation:

यह method तब काम आती है जब कोई form field multiple values भेजता है, जैसे checkboxes या multi-select dropdown।

Example:

@WebServlet("/courseSelection")
public class CourseServlet extends HttpServlet {
  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
    String[] courses = request.getParameterValues("course");
    PrintWriter out = response.getWriter();
    out.println("Selected Courses:");
    if(courses != null){
      for(String c : courses){
        out.println(c);
      }
    }
  }
}

Example URL:

http://localhost:8080/courseSelection?course=Java&course=Python&course=HTML

Browser Output:

  • Selected Courses:
  • Java
  • Python
  • HTML

Key Points:

  • यह हमेशा String[] array return करती है।
  • अगर parameter नहीं मिला तो यह null return करती है।
  • Checkboxes या multiple dropdowns के लिए यह method बहुत useful है।

3. getQueryString() Method

Purpose: URL की पूरी query string को एक single string के रूप में प्राप्त करने के लिए।

Syntax:

String query = request.getQueryString();

Explanation:

यह method पूरी query को return करती है, यानी URL में ? के बाद जो भी लिखा है। इसमें keys और values दोनों शामिल रहते हैं।

Example:

@WebServlet("/queryDemo")
public class QueryServlet extends HttpServlet {
  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
    String query = request.getQueryString();
    response.getWriter().println("Query String: " + query);
  }
}

Example URL:

http://localhost:8080/queryDemo?name=Ravi&roll=101&course=Java

Browser Output:

Query String: name=Ravi&roll=101&course=Java

Key Points:

  • यह सिर्फ URL की string return करती है, parsed data नहीं।
  • यह debug या logging के लिए काफी helpful है।
  • अगर URL में कोई query नहीं है तो यह null return करती है।

Comparison Table: getParameter(), getParameterValues(), getQueryString()

Method Return Type Used For Example Output
getParameter() String Single value parameters Ravi
getParameterValues() String[] Multiple value parameters [Java, Python, HTML]
getQueryString() String Entire query string name=Ravi&roll=101

GET Parameters Servlet में कैसे काम करते हैं?

जब browser किसी Servlet को GET request भेजता है, तो वो URL के साथ parameters attach करता है। Servlet container (जैसे Tomcat) इन parameters को automatically parse कर देता है और HttpServletRequest object में store करता है। फिर हम getParameter() जैसी methods से इन values को आसानी से निकाल सकते हैं।

Working Flow:

  • User URL के साथ data भेजता है → http://localhost:8080/student?name=Ravi&roll=101
  • Server Servlet को request भेजता है।
  • Container request को parse करके HttpServletRequest बनाता है।
  • Servlet code parameters को methods से access करता है।

Example: HTML Form with GET Method

Name:
Roll No:

Explanation:

जब user इस form को submit करता है, तो data URL के साथ browser में चला जाता है। जैसे:

http://localhost:8080/studentInfo?name=Ravi&roll=101

Servlet इस data को request.getParameter("name") और request.getParameter("roll") से पढ़ लेता है।

Important Points to Remember

  • GET method में data URL में दिखाई देता है, इसलिए यह secure नहीं है।
  • GET small data transfer के लिए अच्छा होता है, जैसे search query, filters आदि।
  • GET parameters caching में helpful होते हैं क्योंकि URL same होने पर browser cache रख सकता है।
  • Server log में parameters दिखाई देते हैं, इसलिए sensitive data भेजने से बचें।
  • URL की length limit होती है (लगभग 2048 characters तक)।

Real-Life Example: Search Page

मान लीजिए एक college site में search feature है। User search box में keyword डालता है और search button दबाता है।

अगर user ने लिखा “Java Servlet”, तो browser भेजेगा:

http://localhost:8080/search?query=Java+Servlet

Servlet code:

@WebServlet("/search")
public class SearchServlet extends HttpServlet {
  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
    String q = request.getParameter("query");
    response.getWriter().println("You searched for: " + q);
  }
}

Browser Output:

You searched for: Java Servlet

GET और POST में अंतर

Factor GET POST
Data Transfer URL के साथ जाता है Request body में जाता है
Security कम secure ज्यादा secure
Speed Fast थोड़ा slow
Use Case Data fetching Data submission

Exam Notes: GET Parameters, getParameter(), getParameterValues(), getQueryString()

  • GET Parameters: URL में भेजे गए key-value data।
  • getParameter(): किसी single value को पढ़ने के लिए।
  • getParameterValues(): किसी parameter की multiple values के लिए।
  • getQueryString(): पूरी query string को return करता है।
  • GET method readable और fast होती है लेकिन sensitive data के लिए safe नहीं।
  • URL length limit होती है, इसलिए बड़े data के लिए POST use करना चाहिए।
  • Exam में अक्सर पूछा जाता है — difference between getParameter() and getParameterValues()।
  • Real life use: search box, filter options, category selection।