先设计一个简单的登录界面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对象的一些方法能够实现的功能,我们可以看到各个方法的实现以及参数的传递:
request对象的使用
request.getHeaderNames()
getParameterNames()
|
本文通过一个登录界面示例,展示了如何使用request对象获取客户端信息及请求详情。包括请求方式、URL解析、客户端IP等。
1366

被折叠的 条评论
为什么被折叠?



