JSP的Request对象总结

发表于: java/j2ee | 作者: darkmi | 日期: 2015/11/24 08:00
字号:

Resquest对象主要用于接收客户端通过HTTP协议连接传输到服务器端的数据。在客户端的请求中如果有参数,则该对象就有一个参数列表,它通常是HttpServlet-Request的子类,其作用域就是一次Request请求。Request对象包括很多方法,主要有以下几种。

object getAttribute(String name)

返回指定属性的属性值

Enumeration getAttributeNames()

返回所有可用属性名的枚举

String getCharacterEncoding()

返回字符编码方式

int getContentLength()

返回请求体的长度(以字节数)

String getContentType()

得到请求体的MIME类型

ServletInputStream getInputStream()

得到请求体中一行的二进制流

String getParameter(String name)

返回name指定参数的参数值

Enumeration getParameterNames()

返回可用参数名的枚举

String[] getParameterValues(String name)

返回包含参数name的所有值的数组

String getProtocol()

返回请求用的协议类型及版本号

String getScheme()

返回请求用的计划名,如:http.https及ftp等

String getServerName()

返回接受请求的服务器主机名

int getServerPort()

返回服务器接受此请求所用的端口号

BufferedReader getReader()

返回解码过了的请求体

String getRemoteAddr()

返回发送此请求的客户端IP地址

String getRemoteHost()

返回发送此请求的客户端主机名

void setAttribute(String key,Object obj)

设置属性的属性值

String getRealPath(String path)

返回一虚拟路径的真实路径

接下来在实际的例子中看一下各个方法的用法和功能:

<%@ page contentType="text/html;charset=gb2312"%>
<%request.setCharacterEncoding("gb2312");%>
<html>
<head>
<title>request对象_例1</title>
</head>
<body bgcolor="#FFFFF0">
<form action="" method="post">
<input type="text" name="qwe">
<input type="submit" value="提交">
</form>
请求方式:<%=request.getMethod()%><br />
请求的资源:<%=request.getRequestURI()%><br />
请求用的协议:<%=request.getProtocol()%><br />
请求的文件名:<%=request.getServletPath()%><br />
请求的服务器的IP:<%=request.getServerName()%><br />
请求服务器的端口:<%=request.getServerPort()%><br />
客户端IP地址:<%=request.getRemoteAddr()%><br />
客户端主机名:<%=request.getRemoteHost()%><br />
表单提交来的值:<%=request.getParameter("qwe")%><br />
</body>
</html>
<%@ page contentType="text/html;charset=gb2312"%>
<%request.setCharacterEncoding("gb2312");%>
<%@ page import="java.util.Enumeration"%>
<html>
<head>
<title>request对象_例2</title>
</head>
<body bgcolor="#FFFFF0">
<form action="" method="post">
用户名:<input type="text" name="username">&nbsp;&nbsp;
密 码:<input type="text" name="userpass">&nbsp;&nbsp;
<input type="submit" value="进入" >
</form>
<%
String str="";
if(request.getParameter("username")!=null && request.getParameter("userpass")!=null){
Enumeration enumt = request.getParameterNames();
while(enumt.hasMoreElements()){
str=enumt.nextElement().toString();
out.println(str+":"+request.getParameter(str)+"<br />");
}
}
%>
</body>
</html>
<%@ page contentType="text/html;charset=gb2312"%>
<%request.setCharacterEncoding("gb2312");%>
<html>
<head>
<title>request对象_例3</title>
</head>
<body bgcolor="#FFFFF0">
<form action="" method="post">
擅长:<input type="checkbox" name="cb" value="ON1">VC++&nbsp;
<input type="checkbox" name="cb" value="ON2">JAVA&nbsp;
<input type="checkbox" name="cb" value="ON3">DELPHI&nbsp;
<input type="checkbox" name="cb" value="ON4">VB&nbsp;
<br />
<input type="submit" value="进入" name="qwe">
</form>
<%
if(request.getParameter("qwe")!=null ){
for(int i=0;i<request.getParameterValues("cb").length;i++){
out.println("cb"+i+":"+request.getParameterValues("cb")[i]+"<br />");
}
out.println(request.getParameter("qwe"));
}
%>
</body>
</html>

切换主题切换主题
返回顶部