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