request对象在javaweb开发很常见也非常重要,以下内容是直接由.JSP文件中拷贝出来的源代码:
<%@ page contentType="text/html;charset=gbk"%>
<html>
<body>
<h1>request对象</h1>
<-- 功能:服务器端接收客户端的请求内容,并进行处理
方法:getParameter();getParameterName();getParameterValues();
-->
--------------------------------------------------------------------------------------
<%
//对接收到得 中文进行转换,以免出现乱码:
//方法一:
String netname = new String(request.getParameter("netname").getBytes("ISO8859-1"));
//方法二:
request.setCharacterEncoding("GBK OR GB2312")
%>
<%
//如果传递的内容是数组(复选框CheckBox,多个下拉列表)
<input type="checkbox" name="inst" value="篮球">篮球
<input type="checkbox" name="inst" value="足球">足球
<input type="checkbox" name="inst" value="网球">网球
String inst[] = request.getParameterValues("inst");
for(int i=o;i<inst.length;i++){<%=inst[i]%>,}
%>
<%
//隐藏域:在页面中不显示,但是值会传递到处理页面;
<form><input type="hidden" name="uname" value="123"></form>
%>
<%
//地址重写:通过地址重写,可以讲内容传递到服务器端----服务器只认HTTP协议,不论传递形式
//论坛开发中,进入不同的版块是,通过资质重写,传递参数;
//demo06.jsp?uname=ABC&upass=CDE
//建立超级链接,同时传递多个值
<a href="demo06.jsp?uname=ABC$upass=CDE">demo06.jsp</a>
//分别接受传递的值:
String name=request.getParameter("uname");
String pass=request.getParameter("upass");
%>
--------------------------------------------------------------------------------------
<%
Enumeration enum=request.getParameterNames();//方法 返回值是枚举型 Enumetation
%>
<%
//一、单个值的取法
while(enum.hasMoreElements())
{
String name = (String)enum.nextElement();
//nextElement 方法的得到的结果是对象,所以强制类型转换
%>
<h1><%=name%> <%=request.getParameter(name)%></h1>
<%
}
//二、数组的取法
while(enum.hasMoreElements())
{
String name = (String)enum.nextElement();
if(name.startWith("**"))//在页面端,**开头的value表示按数组取值
{
String temp[] = request.getParameterValues(name);
%>
<h1><%=name%>==
<%
for(i=0;i<temp.length;i++)
{
%>
<%=temp[i]%>
<%
}
%>
</h1>
<%
}
else
{
%>
<h1><%=name%> <%=request.getParameter(name)%></h1>
<%
}
}
%>
<%//取得客户端IP地址的方法
public String getRemoteAddr()
request.getRemoteAddr()
%>
<%
request.setAttribute("name","value")
request.getAttribute("name")
//request对象的属性有效范围,
%>
<jsp:forward page="url" />
<%--
服务器端跳转,即地址栏地址不变的跳转,request对象属性一直有效,
但是如客户端跳转,如超级链接等则属性无效;
--%>
</body>
</html>
<%@ page contentType="text/html;charset=gbk"%>
<html>
<body>
<h1>request对象</h1>
<-- 功能:服务器端接收客户端的请求内容,并进行处理
方法:getParameter();getParameterName();getParameterValues();
-->
--------------------------------------------------------------------------------------
<%
//对接收到得 中文进行转换,以免出现乱码:
//方法一:
String netname = new String(request.getParameter("netname").getBytes("ISO8859-1"));
//方法二:
request.setCharacterEncoding("GBK OR GB2312")
%>
<%
//如果传递的内容是数组(复选框CheckBox,多个下拉列表)
<input type="checkbox" name="inst" value="篮球">篮球
<input type="checkbox" name="inst" value="足球">足球
<input type="checkbox" name="inst" value="网球">网球
String inst[] = request.getParameterValues("inst");
for(int i=o;i<inst.length;i++){<%=inst[i]%>,}
%>
<%
//隐藏域:在页面中不显示,但是值会传递到处理页面;
<form><input type="hidden" name="uname" value="123"></form>
%>
<%
//地址重写:通过地址重写,可以讲内容传递到服务器端----服务器只认HTTP协议,不论传递形式
//论坛开发中,进入不同的版块是,通过资质重写,传递参数;
//demo06.jsp?uname=ABC&upass=CDE
//建立超级链接,同时传递多个值
<a href="demo06.jsp?uname=ABC$upass=CDE">demo06.jsp</a>
//分别接受传递的值:
String name=request.getParameter("uname");
String pass=request.getParameter("upass");
%>
--------------------------------------------------------------------------------------
<%
Enumeration enum=request.getParameterNames();//方法 返回值是枚举型 Enumetation
%>
<%
//一、单个值的取法
while(enum.hasMoreElements())
{
String name = (String)enum.nextElement();
//nextElement 方法的得到的结果是对象,所以强制类型转换
%>
<h1><%=name%> <%=request.getParameter(name)%></h1>
<%
}
//二、数组的取法
while(enum.hasMoreElements())
{
String name = (String)enum.nextElement();
if(name.startWith("**"))//在页面端,**开头的value表示按数组取值
{
String temp[] = request.getParameterValues(name);
%>
<h1><%=name%>==
<%
for(i=0;i<temp.length;i++)
{
%>
<%=temp[i]%>
<%
}
%>
</h1>
<%
}
else
{
%>
<h1><%=name%> <%=request.getParameter(name)%></h1>
<%
}
}
%>
<%//取得客户端IP地址的方法
public String getRemoteAddr()
request.getRemoteAddr()
%>
<%
request.setAttribute("name","value")
request.getAttribute("name")
//request对象的属性有效范围,
%>
<jsp:forward page="url" />
<%--
服务器端跳转,即地址栏地址不变的跳转,request对象属性一直有效,
但是如客户端跳转,如超级链接等则属性无效;
--%>
</body>
</html>