2.request对象
HTTP协议是客户与服务器之间提交请求信息(request)与响应信息(response)的通信协议。request对象是从客户端向服务器发出请求,代表客户端请求信息,主要用于接收客户端通过HTTP协议传送给服务器的数据。该对象继承ServletRequest接口,被包装成HttpServletRequest接口。
request对象常用方法如下表所示。
方法名称 | 说明 |
---|---|
String getParameter(String name) | 用来获取用户提交的数据 |
String[] getParameterValues(String name) | 返回指定参数所有值 |
setCharacterEncoding(String charset) | 设置响应使用字符编码格式 |
void setAttribute(String name,java.lang.Object value) | 在请求转发时,经常要把一些数据传到转发后的页面处理,使用该方法 |
Object getAttribute(String name) | 在请求转发后的页面使用该方法获取属性值 |
removeAttribute(String attName) | 把设置在request范围内属性删除 |
getRemoteAddr():获得客户端IP地址 | 获得客户端IP地址 |
Cookie[] getCookies() | 返回客户端Cookie对象,结果是一个Cookie数组 |
实例代码:
请求页面:
<%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<html>
<body>
<form action="get.jsp" method="post" name="form1">
请输入你的学校名字:
<Input type="text" name="schoolname">
<Input type="submit" name="submit" value="提交">
</form>
</body>
</html>
响应页面:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body bgcolor="yellow">
<%request.setCharacterEncoding("UTF-8"); %>
<p>
获取文本框提交的信息:
<%
String textContent = new String(request.getParameter("schoolname").getBytes("UTF-8"));
%>
<%=textContent%>
<p>
获取按钮的标题的信息:
<%
String buttonName = new String(request.getParameter("submit").getBytes("UTF-8"));
%>
<%=buttonName%>
</body>
</html>
程序说明:
在请求requesta.jsp中,文本框名字“schoolname”,在该文本框中输入“清华大学”, 单击“提交”按钮,由表单action即“get.jsp”处理,request.getParameter(“schoolname”)得到用户提交的数据,在这里
new String(
request.getParameter(“schoolname”).getBytes(“utf-8”));
是用来处理汉字输入后显示为乱码的一种解决方法。
这样,在浏览器显示用户在requesta.jsp的文本框”schoolname”中输入的“清华大学”。
执行结果:
备注:如果出现乱码,如下图所示,设置对应编码格式统一就可以了,点击解决。