授课内容:
1、九大内置对象、方法及功能。
(1)request :
表示客户端对网页的请求,它实现 javax.servlet.http.HttpServletRequest接口,使用 HTTP 协议处理客户端的请求。常用方法:
一、与请求行相关的信息
l 请求的提交方法:request.getMethod()
l 请求的上下文路径:request.getContextPath()
l 客户端向服务器端传送数据的协议名称及版本:request.getProtocol()
l 查询字符串: request.getQueryString()
l 请求行中请求资源的名称: request.getRequestURI()
二、获得网络连接信息
l 客户端IP:request.getRemoteAddr()
l 客户端的名字:request.getRemoteHost()
l 客户端所使用的网络接口的端口号:request.getRemotePort()
l 服务器的名字:request.getServerName()
l 服务器的端口号:request.getServerPort()
l 服务器接收当前请求的网络接口的IP地址:request.getLocalAddr()
l 服务器接收当前请求的网络接口的IP地址对应的主机名:request.getLocalName()
l 服务器接收当前请求的网络接口的端口号:request.getLocalPort()
l 返回请求的协议名:request.getScheme()
三、获取请求头的信息
l 请求的字符编码方式:request.getCharacterEncoding()
l 请求页的长度:request.getContentLength()
l 请求页类型:request.getContentType()
l 输出请求的头信息:
<%
Enumeration e=request.getHeaderNames();
//得到各个头部信息的名称
while(e.hasMoreElements())
{
String str=(String)e.nextElement();
out.print(str+”: “+request.getHeader(str)+”
”);
//根据名称输出头部信息的值
}
%>
四、获取请求参数信息
l 得到请求页的传来的数据:
<%
request.setCharacterEncoding(“utf-8”);
Enumeration e1=request.getParameterNames();
//得到所有参数名称
while(e1.hasMoreElements())
{
String str=(String)e1.nextElement(); //将每个参数名称赋予一个变量
out.print(“名称为”+str+“的属性值为:”+request.getParameter(str)+“
”); //根据参数得到值
}
%>
爱好:
<%
String[] strs=request.getParameterValues(“hobby”); //得到一个数组
for(String str:strs)
{
out.println(str+” “);
}
%>
五、利用请求域属性传递信息
重点:(1)得到客户端传来的数据;(2)在属性内放置变量,进行数据传递
程序功能:文件一表单向JSP文件输入信息,将请求信息及数据显示出来。
程序案例步骤如下:
步骤一、 建立测试表单文件requestTest.html,文件内容为:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>requestTest.html</title>
</head>
<body>
<form method="post" action="accept.jsp">
<table border="1">
<tr><td>输入姓名:</td>
<td><input type="text" name="name"></td>
</tr>
<tr><td>输入密码:</td>
<td><input type="text" name="password"></td>
</tr>
<tr><td>性 别:</td>
<td><input type="radio" name="sex" value="男">男
<input type="radio" name="sex" value="女">女 </td>
</tr>
<tr><td>爱好:</td>
<td><input type="checkbox" name="hobby" value="篮球">篮球
<input type="checkbox" name="hobby" value="排球">排球
<input type="checkbox" name="hobby" value="网球">网球
</td></tr>
<tr><td>来自的国家:</td>
<td><select name="country" >
<option value="中国">中国</option>
<option value="美国">美国</option>
<option value="法国">法国</option>
</select> </td>
</tr>
<tr align="center" ><td colspan="2" ><input type="submit" value="登录"></td></tr>
</table>
</form>
</body>
</html>
accept.jsp:
<%
request.setCharacterEncoding("utf-8");
Enumeration e1=request.getParameterNames();
while(e1.hasMoreElements())
{
String str=(String)e1.nextElement();
out.print("名称为"+str+"的属性值为:"+request.getParameter(str)+"<br/>");
}
%><br/>
爱好:<br/>
<%
String[] strs=request.getParameterValues("hobby");
for(String str:strs)
{
out.println(str+" ");
}
%><br/>
(2)response:
sendRedirect、setCharacerEncoding
(3)session
setAttribute、getAttribute
(4)pageContext
setAttribute、getAttribute、findAttribute
(5)application
setAttribute、getAttribute、