request对象 php request

乱码问题及request对象的三个方法:getParameter、getParameterValues、getParameterNames

一、处理乱码问题

<%@ pagecontentType="text/html;charset=gbk"%> :page指令用来处理显示页面中的乱码。无法处理传输数据的乱码问题。用getBytes()或setCharacterEncoding()方法来处理传输数据的乱码问题。

方法1:getBytes()方法——对数据进行再编码(ISO8851-1)

String name =request.getParameter("uname");
byte[] b =name.getBytes("iso-8859-1");
name = newString(b);
以上代码等同于:

String name = new String(request.getParameter("uname").getBytes("iso-8859-1"));


方法2:setCharacterEncoding()——设置统一的字符编码

request.setCharacterEncoding("gbk");
String name =request.getParameter("uname");

二、复选框——接受多个数据(数组):getParameterValues方法

前台显示页面

<html>
<head>
<title>requestdemo</title>
<body>
<form action="demo04.jsp"method="post">
用户名:<inputtype="text" name="uname"/><br>
兴趣:
<inputtype="checkbox" name="hobit" value="篮球">篮球
<inputtype="checkbox" name="hobit" value="游泳">游泳
<inputtype="checkbox" name="hobit" value="唱歌">唱歌
<inputtype="checkbox" name="hobit" value="跳舞">跳舞
<inputtype="checkbox" name="hobit" value="看书">看书
<br>
<inputtype="submit" value="提交" />
</form>
</body>
</head>
</html>

后台处理页面

<%@ pagecontentType="text/html;charset=gbk"%>
<html>
<head>
<title>requestdemo</title>
<body>
<%
//进行乱码处理
request.setCharacterEncoding("gbk");
//接收用户名
String name =request.getParameter("uname");
//接收兴趣,注意接收复选框数据时,应采用数组来存放,取出复选框中每个元素的值存放在hobit[]数组中
String hobit[] =request.getParameterValues("hobit");
%>
<h1>用户名为:<%=name%></h1>
<h1>兴趣为:
<%
//遍历数组中的值
for(inti=0;i<hobit.length;i++){
%>
<%=hobit[i]%>、
<%
}
%>
</h1>
</body>
</head>
</html>

三、隐藏域

简单接受即可

前台显示页面

<input type ="hidden" name = "uname" value = "zhang">

后台处理页面

String name =request.getParameter("uname");

<h1>内容为:<%=name%></h1>

四、地址重写

1、在地址栏中复制附带参数的URL,如http://localhost:8080/test/demo.jsp?uname=zhang相当于在前台显示页面输入数据点提交。

2、通过超链接

将<a href ="demo.jsp?uname=zhang"></a>代码写入前台显示页面,点击超链接同样相当于在前台显示页面输入数据点提交。

注:当传输多个参数时则用"&"符号添加多个参数

demo.jsp?uname=zhang&password=123&gender=1

通过地址重写,可以将数据传送到服务器端,服务器只认HTTP协议,而不管接受的数据是以何种形式传送过来的

五、getParameterName()方法

前台增加类似用户或密码等输入数据时,无须改变后台服务器段的接受代码,只需新建一个接受属性Enumerationenu = request.ge【】tParameterNames();而无须再建多个接受属性,如:String name= request.getParameterName()、String password =request.getParameterName()等等其它属性

示例:

<%@ pagecontentType="text/html;charset=gbk"%>
<%@ page import="java.util.*"%>
<html>
<head>
<title>requestdemo,Enumeration的用法</title>
<body>
<%
//进行乱码处理
request.setCharacterEncoding("gbk");
//接收客户端传递过来的所有参数,用Enumeration来接收,注意接收到的是参数的名字,而不是值
Enumeration enu =request.getParameterNames() ;

%>

<%
while(enu.hasMoreElements()){
String name =(String)enu.nextElement() ;
if(name.startsWith("**"))
{
//以数组来接收复选框中的数据,取出复选框中每个元素的值存放在temp[]数组中
Stringtemp[] = request.getParameterValues(name);
%>
<h1><%=name%>-->
<%
//遍历数组中的值
for(inti=0;i<temp.length;i++){
%>
<%=temp[i]%>、
<%
}
%>
</h1>
<%
}
else
{
%>
<h1><%=name%>---><%=request.getParameter(name)%></h1>
<%
}
%>

<%
}
%>
</body>
</head>
</html>

六、接受IP地址:getRemoteAddr()方法

示例:

<%@ pagecontentType="text/html;charset=gbk"%>
<%@ page import="java.util.*"%>
<html>
<head>
request对象 php request
<title>jsp</title>
<body>
<h1><%=request.getRemoteAddr()%></h1>
</body>
</head>
</html>

  

爱华网本文地址 » http://www.aihuau.com/a/25101015/258348.html

更多阅读

request.getParameterValues与getParameter的区别 request parametermap

request.getParameterValues(Stringname)是获得如checkbox类(名字相同,但值有多个)的数据。接收数组变量,如checkobx类型request.getParameter(Stringname)是获得相应名的数据,如果有重复的名,则返回第一个的值. 接收一般变量,如text类型JS

原创 面向对象设计与分析实例 php面向对象实例

本文链接http://nedan2008.iteye.com/blog/1879102、http://blog.sina.com.cn/s/blog_5305534501018if5.html,转载请注明出处。面向对象程序设计有5条基本设计原则,分别是:单一职责原则、开放封闭原则、依赖倒置原则、接口隔离原则和

Server对象MapPath方法 php server.mappath

Server对象MapPath方法返回与Web服务器上的指定虚拟路径相对应的物理文件路径。这在实际中也是很有用的,一般情况下,文件路径是用虚拟路径来表示,但有时必须使用物理路径,比如文件上传或对服务器上的文件进行操作,就必须使用物理路径。Se

PHP面向对象编程快速入门 面向对象的编程语言

面向对象博大精深,对于从未接触过得的人,会觉得一头雾水。学习的资料很多,但大多比较抽象,所以我用经典的游戏&#173;星际争霸来讨论PHP面向对象。现在假设我们来用PHP开发星际争霸,从而接触PHP面向对象。注意,为了便于学习,除了特殊说明,否

声明:《request对象 php request》为网友幻想少年梦分享!如侵犯到您的合法权益请联系我们删除