JAVA内置对象

本文详细介绍了JAVA Web开发中的四个重要内置对象——request、response、session和application。request对象用于获取用户提交的信息,包括处理汉字信息、获取头信息等;response对象则用于动态响应,设置contentType,以及实现重定向;session对象用于维护客户端会话,包括设置和获取属性、处理会话ID等;application对象则在整个应用范围内共享数据。通过对这些对象的理解和应用,开发者能更好地进行Web开发。
摘要由CSDN通过智能技术生成

前言

在Web开发中,request、response、session和application对象是非常重要的对象。本章我们将着重对这四个对象进行介绍和实际应用Demo演示。

4.1 request对象

request对象代表了客户端的请求信息,主要用于接收客户端通过HTTP协议传送给服务器端的数据。request对象包含了请求的头信息(Header)、系统信息(比如:编码方式)、请求的方式(比如:GET或POST)、请求的参数名称和参数值等信息;还提供了获取cookie和session等对象、数据的方法。

4.1.1 获取用户提交的信息

通过request对象可以获取用户在网页表单中所输入的数据内容,或者通过超链接或jsp:param传递的参数。request对象提供了以下几个方法来获取用户提交的信息:

String getParameter(String name):返回给定参数的值,当传递给此方法的参数名没有实际参数与之对应时,返回 null 。使用 getParameter (String name) 取得的值都是 字符串类型 ,需要转换为需要的类型。
String[] getParameterValues(String name):根据页面表单中的输入控件名称获取对应的多个值,一般用于获取复选框,复选列表框等输入控件,获取里面输入的多个值,参数name就是输入控件的名称。
Enumeration getParameterNames():返回值类型:枚举类型Enumeration。得到客户端提交的所有参数的名称。
例如,如果有一个表单如下:

姓名:
性别:男 女
爱好:音乐 运动 阅读

那么在test.jsp中可以使用以下代码来获取用户提交的信息:

<%
//获取姓名
String name = request.getParameter(“name”);
//获取性别
String gender = request.getParameter(“gender”);
//获取爱好
String[] hobby = request.getParameterValues(“hobby”);
%>

4.1.2 处理汉字信息

在form表单采用post方式提交请求时,需要设置request对象的编码方式,保证能够正确地取到数据。request对象提供了以下方法来设置编码方式:

void setCharacterEncoding(String chaen):设置request对象使用指定编码方式读取请求参数。
例如,如果要设置request对象使用UTF-8编码方式读取请求参数,可以使用以下代码:

<%
request.setCharacterEncoding(“UTF-8”);

4.1.3 常用方法举例

除了上述方法外,request对象还提供了一些其他常用方法来获取客户端或服务器端的相关信息。以下是一些常用方法举例:

String getProtocol():获取客户向服务器提交信息所使用的通信协议,比如HTTP/1.1等。
String getServletPath():获取客户请求的JSP页面文件的目录。
int getContentLength(): 获取客户提交的整个信息的长度。
String getMethod():获取客户提交信息的方式,如:post或get。
String getHeader(String s): 获取HTTP头文件中由参数s指定的头名字的值²。
Enumeration getHeaderNames():获取头名字的一个枚举。
Enumeration getHeaders(String s):获取头文件中指定头名字的全部值的一个枚举。
String getRemoteAddr():获取用户的IP地址。
String getRemoteHost(): 获取客户机的名称(如果获取不到,就获取IP地址)。
String getServerName():获取服务器名称。
int getServerPort():获取服务器端口号。
例如,如果要在一个JSP页面中显示客户端和服务器端的相关信息,可以使用以下代码:

<%
out.println(“通信协议:” + request.getProtocol() + “
”);
out.println(“请求页面:” + request.getServletPath() + “
”);
out.println(“请求方式:” + request.getMethod() + “
”);
out.println(“请求长度:” + request.getContentLeng

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值