request对象

 

客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。

一、J2EE中乱码问题是最大的问题--做到国际通用。
解决方法一:
String中的方法:public byte[] getBytes(“encoding”);

String name = request.getParameter("uname");
byte[] b = name.getBytes("ISO08859-1");
name = new String(b);
开发中经常使用以下一行替代:
String name = new String(request.getParameter("uname").getBytes("ISO08859-1"));
GBK>GB2312
GBK是中文编码,GB2312只是简体中文编码。

解决方法二:
设置统一的编码方法:
request 中的方法:void setCharacterEncoding(String env)
                          throws UnsupportedEncodingException

request.setCharacterEncoding("GBK");//将发送段的内容进行再编码
String  name = request.getParameter("uname");
  
二、发送checkbox的请求:                       
<form action="demo1.jsp" method="post">
兴趣:
<input type="checkbox" name="inst" value="篮球">篮球
<input type="checkbox" name="inst" value="音乐">音乐
<input type="checkbox" name="inst" value="读书">读书
<input type="checkbox" name="inst" value="上网">上网<br>
</form>

处理checkbox的请求:
String[] getParameterValues(String name) 
String inst[] = request.getParameterValues("inst")

三、在开发中较为常用的表单控件:隐藏域
将内容隐藏起来,用户不能修改,之后随表单一起提交到服务器上显示。
使用和其他空间相似,区别:在客户端不显示。
<form action="demo02.jsp" method="post">
 <input type="hidden" name="uname" value="mac">
 <input type="submit" value="提交">
 
四、地址重写:
http://127.0.0.1:8888/demo02.jsp?uname=Hello
通过地址重写,可以将内容传递到服务器端--服务器端只认http协议,不管以何种方式传送过的。
如果传递多个参数demo02.jsp?uname=Hello&upsw=mac

五、Enumeration getParameterNames() 返回可用参数名的枚举
取得客户端所有请求参数。
Enumeration  enum = request.getParameterNames()
while(enum.hasMoreElements()){
 String uname = (String)enum.nextElement();//得到的是参数的名称,如inst
 String  name = request.getParameter("uname");//得到参数的值
}
用getParameterNames()前台增加不影响后台,因为后台有while循环,自动处理所有的内容。
工程上一般将需数组处理的,将其参数名设为**×××格式。

六、其他方法:
 object getAttribute(String name) 返回指定属性的属性值
 Enumeration getAttributeNames() 返回所有可用属性名的枚举
 String getCharacterEncoding() 返回字符编码方式
 int getContentLength() 返回请求体的长度(以字节数)
 String getContentType() 得到请求体的MIME类型
 ServletInputStream getInputStream() 得到请求体中一行的二进制流
 String getProtocol() 返回请求用的协议类型及版本号
 String getScheme() 返回请求用的计划名,如:http.https及ftp等
 String getServerName() 返回接受请求的服务器主机名
 int getServerPort() 返回服务器接受此请求所用的端口号
 BufferedReader getReader() 返回解码过了的请求体
 String getRemoteAddr() 返回发送此请求的客户端IP地址
 String getRemoteHost() 返回发送此请求的客户端主机名
 void setAttribute(String key,Object obj) 设置属性的属性值
 String getRealPath(String path) 返回一虚拟路径的真实路径

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值