先設計一個簡單的登錄界面index.htm:
<html>
<head><title>request的使用</title></head>
<body bgcolor="#FFFFCC">
<center>
<table border="1">
<h1 align="center">登陸驗證</h1>
<hr>
<form action="requestform.jsp">
<tr>
<td>用戶名:</td>
<td><input type="text" name="username" size="20"></td>
</tr>
<tr>
<td>密 碼:</td>
<td><input type="password" name="password" size="20"></td>
</tr>
<tr>
<td align="center"><input type="submit" name="Submit" value="提交"></td>
<td align="center"><input type="reset" name="Submit2" value="重填"></td>
</form>
</table>
<hr>
<h3>演示request對象的方法及其參數的傳遞</h3>
</center>
</body></html>
輸入信息后,提交到requestform.jsp頁面,該頁面用來顯示一些參數:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.util.*" %>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<%
request.setCharacterEncoding("GBK");
%>
<html>
<head><title>request對象的使用</title></head>
<body bgcolor="#FFFFCC">
<h3 align="center">request對象的使用</h3>
<center>
<table border="1" width="800">
<tr>
<td>HttpUtil.getRequestURL(request)</td>
<td><%=HttpUtils.getRequestURL(request)%></td>
</tr>
<tr>
<!--返回發送信息的方式-->
<td>request.getMethod()</td>
<td><%=request.getMethod()%></td>
</tr>
<tr>
<!--返回請求的URI字符串-->
<td>request.getRequestURL(request)</td>
<td><%=request.getRequestURI()%></td>
</tr>
<tr>
<!--返回通信協議的方式-->
<td>request.getProtocol()</td>
<td><%=request.getProtocol()%></td>
</tr>
<tr>
<!--返回程序的相對路徑和文件名稱-->
<td>request.getServletPath()</td>
<td><%=request.getServletPath()%></td>
</tr>
<tr>
<!--返回程序的相對路徑和文件名稱-->
<td>request.getPathInfo()</td>
<td><%=request.getPathInfo()%></td>
</tr>
<tr>
<!--返回發送信息的方式-->
<td>request.getPathTranslated()</td>
<td><%=request.getPathTranslated()%></td>
</tr>
<tr>
<!--返回地址欄中后面的字符串-->
<td>request.getQueryString()</td>
<td><%=request.getQueryString()%></td>
</tr>
<tr>
<!--返回發送信息的方式-->
<td>request.getContentType()</td>
<td><%=request.getContentType()%></td>
</tr>
<tr>
<!--返回發送信息的方式-->
<td>request.getContentLength()</td>
<td><%=request.getContentLength()%></td>
</tr>
<tr>
<!--返回服務器主機名稱-->
<td>request.getServerName()</td>
<td><%=request.getServerName()%></td>
</tr>
<tr>
<!--返回服務器主機連接的端口號-->
<td>request.getServerPort()</td>
<td><%=request.getServerPort()%></td>
</tr>
<tr>
<!--返回客戶端用戶的IP地址-->
<td>request.getRemoteAddr()</td>
<td><%=request.getRemoteAddr()%></td>
</tr>
<tr>
<!--返回返回客戶端用戶的主機名稱-->
<td>request.getRemoteHost()</td>
<td><%=request.getRemoteHost()%></td>
</tr>
<tr>
<!--返回發送信息的方式-->
<td>request.getAuthType()</td>
<td><%=request.getAuthType()%></td>
</tr>
</table>
<h3 align="center">request.getHeaderNames()</h3>
<table border="1" width="800">
<%
Enumeration enu1=request.getHeaderNames();
while(enu1.hasMoreElements()){
String names=(String)enu1.nextElement();
%>
<tr>
<!--返回發送信息的方式-->
<td><%=names%></td>
<td><%=request.getHeader(names)%></td>
</tr>
<%
}
%>
</table>
<h3 align="center">getParameterNames()</h3>
<table border="1" width="800">
<%
Enumeration enu2=request.getParameterNames();
while(enu2.hasMoreElements()){
String names=(String)enu2.nextElement();
%>
<tr>
<!--返回發送信息的方式-->
<td><%=names%></td>
<td><%=request.getParameter(names)%></td>
</tr>
<%
}
%>
</table>
</table>
</center>
</body></html>
測試request對象的方法,以及傳的參數的功能:
啟動Tomcat服務器,在IE地址欄中鍵入URL為:
http://localhost:8080/sky2098/request/index.htm
頁面效果如圖所示:

我們可以隨意輸入參數,也可以是空值,則提交后頁面為(我輸入的用戶名為sky2098,密碼88888888):

其中顯示了request對象的一些方法能夠實現的功能,我們可以看到各個方法的實現以及參數的傳遞:
