jsp内置对象之request对象

在jsp内置对象中,request对象是一个非常常用的内置对象,其常用方法有:

request.setCharacterEncoding(String arg) ----------------------用于设置接收参数的编码。主要用于解决乱码问题,参数设置发送请求页面的编码

request.getParameter(String arg)-----------------------------------接收表达数据,更具表达的参数填写表单对象的name属性,或者接收地址中key=value的value值,arg为key

request.getParameterValues(String arg)-------------------------和getParameter(String arg)类似,不同的地方在于,在一个表单中或者一个请求地址中有若干name相同的表单对    象,我们就用此方法接收一个多个值,此方法的返回值为字符串类型的数组。例如说多选框之类的

request.getParameterNames()-------------------------------------此方法用于获取表单对象或者地址发送过来的所有name的值,其返回值为Enumeration<String> 

request.getHeaderNames()-----------------------------------------此方法用于获取http请求的头信息中的name的值,其返回值为Enumeration<String>

request.getHeader(String arg)--------------------------------------此方法用于根据http请求头信息的name的值获取对应的value值。

更多request内置对象的方法请参考j2ee api 文档,request对象是 javax.servlet.http.HttpServletRequest的实例。


下面上一个具体的例子使用上面的方法

发送请求的一个表单页面:shuru.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="jieshou.jsp" method="post">
姓名:<input type="text" name="info" /><br/>
爱好
<input  type="checkbox" name="*inst" value="唱歌"/>唱歌
<input  type="checkbox" name="*inst" value="乐器"/>乐器
<input  type="checkbox" name="*inst" value="旅游"/>旅游
<input  type="checkbox" name="*inst" value="看书"/>看书
<input type="hidden" value="3" name="id"/>
<br/>
<input type="submit" />
<input type="reset"/>
</form>
</body>
</html>

接收请求的一个页面:jieshou.jsp

<%@page import="java.util.Enumeration"%>
<%@ page language="java" contentType="text/html; charset=GB18030"
	pageEncoding="GB18030"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>Insert title here</title>
</head>
<body>
	<%
		request.setCharacterEncoding("utf-8");//解决乱码问题,这里面的编码为发送页面的编码
		String info = request.getParameter("info");
		String inst[] = request.getParameterValues("*inst");
		Enumeration<String> enu = request.getParameterNames();
	%>
	姓名<%=info%><br>爱好
	<%
		if (inst != null && inst.length > 0) {
			for (int i = 0; i < inst.length; i++) {
	%>
	<%=inst[i]%>
	<%
		}
		} else {
	%>
	无爱好
	<%
		}
		while (enu.hasMoreElements()) {
	%>
	<br />
	<%
		String parameterName = enu.nextElement();
			if (parameterName.startsWith("*")) {
				String values[] = request.getParameterValues(parameterName);
				if (values != null) {
	%>
	<%=parameterName%>
	<%
		for (int i = 0; i < values.length; i++) {
	%>
	<%=values[i]%>
	<%
		}
				} else {
	%>
	无爱好
	<%
		}
			} else {
	%>
	<%=parameterName%>
	<%=request.getParameter(parameterName)%>
	<%
		}

		}
	%>
	<br />
	<%
		Enumeration<String> enumHead = request.getHeaderNames();
		while (enumHead.hasMoreElements()) {
			String headName = enumHead.nextElement();
	%>
	<%=headName%>
	<%=request.getHeader(headName)%>
	<br />
	<%
		}
	%>
</body>
</html>

好吧,就这些,也不过多解释了。用到的主要方法,在上面都有解释。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值