jsp内置对象之 resquest

request让服务器取得用户在网页表单中所输入的数据内容。

setAttribute(String name,Object):设置名字为name的request的参数值
getAttribute(String name):返回由name指定的属性值
getAttributeNames():返回request对象所有属性的名字集合,结果是一个枚举的实例
getCookies():返回客户端的所有Cookie对象,结果是一个Cookie数组
getCharacterEncoding():返回请求中的字符编码方式   //set
getContentLength():返回请求的Body的长度
getHeader(String name):获得HTTP协议定义的文件头信息
getHeaders(String name):返回指定名字的request Header的所有值,结果是一个枚举的实例
getHeaderNames():返回所以request Header的名字,结果是一个枚举的实例
getInputStream():返回请求的输入流,用于获得请求中的数据
getMethod():获得客户端向服务器端传送数据的方法
getParameter(String name):获得客户端传送给服务器端的有name指定的参数值
getParameterNames():获得客户端传送给服务器端的所有参数的名字,结果是一个枚举的实例
getParameterValues(String name):获得有name指定的参数的所有值
getProtocol():获取客户端向服务器端传送数据所依据的协议名称
getQueryString():获得查询字符串
getRequestURI():获取发出请求字符串的客户端地址
getRemoteAddr():获取客户端的IP地址
getRemoteHost():获取客户端的名字
getSession([Boolean create]):返回和请求相关Session
getServerName():获取服务器的名字
getServletPath():获取客户端所请求的脚本文件的路径
getServerPort():获取服务器的端口号
removeAttribute(String name):删除请求中的一个属性

例:String getParameter(String name)

在requestInfo.jsp中

<body bgcolor="#ffc7c7">
  <div id="register">
  <form action="showInfo.jsp" name="form1" method="post">
  		<p align="center">用户名:<input type="text" name="username" width="50"></p>
  		<p align="center">密&nbsp;码:<input type="password"  name="password"></p>
  		<p align="center"><input type="submit" name="Submit" value="提交">
  			&nbsp;&nbsp;<input type="reset" name="cancle" id="cancle" value="取消"></p>
  	</form>
  </div>
  </body>

jsp内置对象之 resquest_第1张图片

在showInfo.jsp中:

<body bgcolor="#ccffcc">
  	<h1>您刚才输入的内容是:<br></h1>
  	<%
  		Enumeration enu = request.getParameterNames();
  		while(enu.hasMoreElements()){
  			String parameterName = (String)enu.nextElement();
  			String parameterValue = (String)request.getParameter(parameterName);
  			out.println("参数名称:"+parameterName + "<br>");
  			out.println("参数内容:"+parameterValue + "<br>");
  		}
  	 %>
  </body>

jsp内置对象之 resquest_第2张图片

_______________________________________________________________________________________________________________

例:String[] getParameterValues(String name)

读取多个变量的值, 主要用于获取复选框的值或下拉列表带multipe属性的值。

hobby.html

<head>
    <title>用户信息</title>
	
    <meta name="keywords" content="keyword1,keyword2,keyword3">
    <meta name="description" content="this is my page">
    <meta name="content-type" content="text/html; charset=gb2312">
    
    <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->

  </head>
  
  <body>
  	<form action="hobbyInfo.jsp" name="Example" method="post">
  		<p>兴趣:
  		<input type="checkbox" name="habit" value="Read">
			看书
		<input type="checkbox" name="habit" value="Football">
			足球
		<input type="checkbox" name="habit" value="Travel">
			旅游
		<input type="checkbox" name="habit" value="Music">
			音乐
		<input type="checkbox" name="habit" value="Tv">
			看电视</p>
		<p>
			<input type="submit" value="传送">
			<input type="reset" value="清除">
		</p>
	 	
	  	</form>
  </body>

jsp内置对象之 resquest_第3张图片

响应页面:hobbyInfo.jsp

<%-- <%request.setCharacterEncoding("utf-8"); %> --%>
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'hobbyInfo.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
  	<%
  		String[] hobby = request.getParameterValues("habit");
  		if(hobby != null){
  			for(int i = 0; i < hobby.length; i++){
  				if(hobby[i].equals("Read")){
  					out.println("看书");
  				}
  				if(hobby[i].equals("Football")){
  					out.println("足球");
  				}
  				if(hobby[i].equals("Travel")){
  					out.println("旅游");
  				}
  				if(hobby[i].equals("Music")){
  					out.println("听音乐");
  				}
  				if(hobby[i].equals("Tv")){
  					out.println("看电视");
  				}
  			}
  		}
  	 %>
  	
  </body>
</html>

jsp内置对象之 resquest_第4张图片

例:String[] getParameterValues(String name) 用在读取带mutiple属性的下拉列表中的数据

city.html

<html>
  <head>
    <title>用户信息</title>
	
    <meta name="keywords" content="keyword1,keyword2,keyword3">
    <meta name="description" content="this is my page">
    <meta name="content-type" content="text/html; charset=gb2312">
    
    <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->

  </head>
  
  <body>
	<form action="cityInfo.jsp" method="post" name="Example">
		<p>您喜欢的城市是:
			<select name="city" multiple="multiple" size="4">
				<option>北京市</option>
				<option>上海市</option>
				<option>南京市</option>
				<option>杭州市</option>
				<option>济南市</option>
				<option>重庆市</option>
			</select>
		</p>
		<input type="submit" value="传送">
		<input type="reset" value="清除">		
	</form>
  </body>
</html>

    图示:jsp内置对象之 resquest_第5张图片


cityInfo.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%request.setCharacterEncoding("gb2312"); %>
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'cityInfo.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
  	喜欢的城市:
  	<% 
  		String[] citys = request.getParameterValues("city");
  		if(citys != null){
  			for(int i = 0; i < citys.length; i++){
  				out.println(citys[i] + " ");
  			}
  		}
  	%>
  </body>
</html>

图示:    jsp内置对象之 resquest_第6张图片


利用request获取一些系统信息:

<body>
  	<br>
		客户使用的协议是:
		<%=request.getProtocol() %>
	<br>
		获取客户提交信息的长度:
		<%=request.getServletPath() %>
	<br>
		接收客户提交信息的长度:
		<%=request.getContentLength() %>
	<br>
		客户提交信息的方式:
		<%=request.getMethod() %>
	<br>
		获取客户机的名称:
		<%=request.getRemoteHost() %>
	<br>
		获取客户的IP:
		<%=request.getRemoteAddr() %>
	<br>
	
	枚举所有的头部文件名称:
	<%
		Enumeration enm = request.getHeaderNames();
		while(enm.hasMoreElements()){
			String s = (String)enm.nextElement();
			out.println(s);
		}
		
	 %>
	 <br>
	 枚举头部信息中指定头名字的全部值:
	 <%
	 	Enumeration d = request.getHeaders("cookie");
	 	while(d.hasMoreElements()){
	 		String a = (String)d.nextElement();
	 		out.println(d);
	 	}
	 	
	  %>
  </body>

如:jsp内置对象之 resquest_第7张图片

你可能感兴趣的:(jsp内置对象之 resquest)