JSP内置对象——request对象
request对象
request对象封装了由客户端生成的HTTP请求的所有细节,主要包括HTTP头信息、系统信息、请求方式和请求参数等。
通过request对象提供的各种方法可以处理客户端浏览器提交的HTTP请求中的各项参数。
1、访问请求参数
当通过超链接的形式发送请求时,可以为该请求传递参数,这可以通过在超链接的后面加上问好"?"来实现。
例如:
<a href="delete.jsp?id=1">删除</a>
request.getParameter(String name); //获取name对应的值
2、在作用域中管理属性
在进行请求转发时,需要把一些数据传递到转发后的页面进行处理。
这时,我们就需要使用request对象中的setAttribute()方法将数据保存到request范围内的变量中。
request.setAttribute(String name,Object object);
将数据保存到request范围内的变量中后,可以通过request对象的getAttribute()方法获取该变量的值。
request.getAttribute(String name);
3、获取cookie
在互联网中,cookie是小段的文本信息,在网络服务器上生成,并发送给浏览器。
通过使用cookie可以标识用户身份,记录用户名和密码,跟踪重复用户等。
浏览器将cookie以key/value的形式保存到客户机的某个指定目录中。
Cookie[] cookies = request.getCookies(); //从request中获取Cookie对象的集合
4、获取客户端信息
通过request对象可以获取客户端的相关信息,例如,HTTP报头信息、客户信息提交方式、客户端主机IP地址、端口号等。
request.getHeader(String name); //获取HTTP协议定义的文件头信息
request.getHeaders(String name); //返回指定名字的request Header的所有值,其结果是一个枚举型的实例
request.getHeadersNames() //返回所有request Header的名字,其结果是一个枚举型的实例
request.getMethod(); //获取客户端向服务器端传送数据的方法,如get、post、header、trace等
request.getProtocol(); //获得客户端向服务器端传送数据所依据的协议名称
request.getRequestURI(); //获取发出请求字符串的客户端地址,不包括请求的参数
request.getRequestURL(); //获取发出请求字符串的客户端地址
request.getRealPath(); //返回当前请求文件的绝对路径
request.getRemoteAddr(); //获取客户端的IP地址
request.getRemoteHost(); //获取客户端的主机名
request.getServerName(); //获取服务器的名字
request.getServerPath(); //获取客户端所请求的脚本文件的文件路径
request.getServerPort(); //获取服务器的端口号
5、显示国际化信息
浏览器可以通过accept-language的HTTP报头向Web服务器指明它所使用的本地语言。
request.getLocale()和request.getLocales()允许JSP开发人员获取这一信息,获取的信息属于java.util.Local类型。
java.util.Local类型的对象封装了一个国家和国家所使用的一种语言。通过这一信息,JSP开发者就可以使用语言所特有的信息作出响应。