request内置对象
request内置对象,是使用最多的一个对象,主要作用是接收来自客户端的发送来的请求信息,例如请求的参数,头信息都属于客户端发来的信息。request是javax.servlet.http.HttpServletRequest接口的实例化对象,表示此对象主要是应用在HTTP协议上。
对应的接口:public interface HttpServletRequest extends ServeletRequest。ServletRequest只有一个子接口就是HttpServletRequest
<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") ;方法设置统一编码,为了防止乱码。
二,接收请求参数
使用request内置对象中的getParameter()方法可以接收一个表单文本框中输入的内容,即,getParameter()接收的是一个参数的内容,也就是说文本框的名称就是一个参数的名称,而文本框中输入的内容就是参数的内容,但这种方式只适合每次接收一个参数,如果有一组参数(同名参数)传递,则必须使用getParameterValues()方法进行接收。例如,复选框(checked),一般参数的名称都是重复的,是一组参数,所以只能使用getParameterValues()接收,如果使用getParameter()方法,则只会接收一个选中内容。
<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()方法接收复选框的内容然后使用字符串数组的形式返回,并利用循环输出数组内容。