request內置對象
java
request內置對象,是使用最多的一個對象,主要做用是接收來自客戶端的發送來的請求信息,例如請求的參數,頭信息都屬於客戶端發來的信息。request是javax.servlet.http.HttpServletRequest接口的實例化對象,表示此對象主要是應用在HTTP協議上。
數組
對應的接口:public interface HttpServletRequest extends ServeletRequest。ServletRequest只有一個子接口就是HttpServletRequest
jsp
<body> <form action="request_demo02.jsp" method="post"> 請輸入內容:<input type="text" name="info"> <input type="submit" value="提交"> </form> </body>
<body> <% request.setCharacterEncoding("GBK") ; //取得客戶端請求的內容 //接收表單提交的參數 String content = request.getParameter("info") ; %> <h2>內容:<%=content %></h2> </body>
使用request.setCharacterEncoding("gb2312") ;方法設置統一編碼,爲了防止亂碼。
post
二,接收請求參數編碼
使用request內置對象中的getParameter()方法能夠接收一個表單文本框中輸入的內容,即,getParameter()接收的是一個參數的內容,也就是說文本框的名稱就是一個參數的名稱,而文本框中輸入的內容就是參數的內容,但這種方式只適合每次接收一個參數,若是有一組參數(同名參數)傳遞,則必須使用getParameterValues()方法進行接收。例如,複選框(checked),通常參數的名稱都是重複的,是一組參數,因此只能使用getParameterValues()接收,若是使用getParameter()方法,則只會接收一個選中內容。
spa
<body> <form action="request_demo02.jsp" method="post"> 姓名:<input type="text" name="uname"><br> 興趣:<input type="checkbox" name="inst" value="唱歌">唱歌 <input type="checkbox" name="inst" value="看書">看書 <input type="checkbox" name="inst" value="旅遊">旅遊<br> <input type="reset" value="重置"> <input type="submit" value="提交"> </form> </body>
<body> <% request.setCharacterEncoding("GBK") ; String id = request.getParameter("id") ; //接收隱藏域提交的參數 String name = request.getParameter("uname") ; //接收文本框提交的參數 String inst[] = request.getParameterValues("inst") ; //接收復選框提交的參數 %> <h2>編號:<%=id %></h2> <h2>姓名:<%=name %></h2> <% if(inst!=null) { //判斷是否有內容 %> <h2>興趣:</h2> <% for(int x=0;x<inst.length;x++) //循環輸出所有內容 { %> <%=inst[x] %> <% } } %> </body>
本程序使用getParameter()方法接收文本框和隱藏域的內容,使用getParameter()方法接收復選框的內容而後使用字符串數組的形式返回,並利用循環輸出數組內容。
code