servlet HTTP獲取請求數據


  <body>
    This is my HTML page. <br>
        <h3>get </h3>
    <form  action="/day1/requestdemo2" method="GET">
        用戶名:<input type"text" name="name"/><br/>
        密碼:<input type="password" name="password"/><br/>
        <input type="submit" value="提交">
  
    </form>
    <h3>Post </h3>
    <form  action="/day1/requestdemo2" method="POST">
        用戶名:<input type"text" name="name"/><br/>
        密碼:<input type="password" name="password"/><br/>
        <input type="submit" value="提交">
  
    </form>
  </body>

 

 

不推薦的辦法:

public class requestdemo2 extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

System.out.println("get:");
String value=request.getQueryString();
System.out.println(value);
    }


    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        System.out.println("post:");
InputStream in=  request.getInputStream();
byte[] buf=new byte[1024];
int len=0;
while((len=in.read())!=-1){
    String str= new String(buf,0,len);
    System.out.println(str);
}

    }

 

 

推薦方式:

doget(),dopost()通用,獲取數據方式

    String name=    request.getParameter("name");
    String password=    request.getParameter("password");
        System.out.println(name+":"+password);
        
        System.out.println("================================================");
        Enumeration<String > enums=request.getParameterNames();
        while(enums.hasMoreElements()){
            String paraname=enums.nextElement();
            String paravalue=request.getParameter(paraname);
            System.out.println(paraname+"="+paravalue);
        }

 

 

傳遞的請求參數如何獲取              

                           GET方式: 參數放在URI后面

                           POST方式: 參數放在實體內容中

 

                          獲取GET方式參數:

                                            request.getQueryString();

                          獲取POST方式參數:

                                            request.getInputStream();

 

                          問題:但是以上兩種不通用,而且獲取到的參數還需要進一步地解析。

                          所以可以使用統一方便的獲取參數的方式:

                                  

                                  核心的API:

                                   request.getParameter("參數名");  根據參數名獲取參數值(注意,只能獲取一個值的參數)

                                   request.getParameterValue("參數名“);根據參數名獲取參數值(可以獲取多個值的參數)

 

                                   request.getParameterNames();   獲取所有參數名稱列表  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM