jsp_内置对象_request
request内置对象是使用最多的一个对象,其主要作用是接收客户端发送来的请求信息。如请求的参数、发送的头信息等都属于客户端发送来的信息。request是javax.servlet.http.HttpServletRequest接口的实例化对象,表示此对象主要是用在http协议上。
下面我们具体介绍一下request对象常用的几种方法:
1.request—乱码解决
下面我们直接使用小例子来说明:
(1)编写提交表单-request_dmeo1.html
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>request对象</title>
</head> <body>
<form action="request_demo_01.jsp" method="post">
请输入信息:<input type="text" name="info"/>
<input type="submit" value="提交">
</form>
</body>
</html>
(2)接收表单内容-request_demo_01.jsp
<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>request对象</title>
</head> <body>
<%
String content=request.getParameter("info");
%>
<%=content%>
</body>
</html>
程序的运行结果如下图所示:

如上图所示,当在文本框中输入中文以后,页面跳转,中文却无法正常显示。这主要是因为浏览器编码与jsp页面编码不一致造成的。此时,可以直接使用request.setCharacterEncoding()方法设置统一的编码即可。
request_demo_01.jsp
<%@ page contentType="text/html;" language="java" import="java.sql.*" errorPage="" pageEncoding="utf-8" %>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>request对象</title>
</head> <body>
<%
request.setCharacterEncoding("utf-8");
String content=request.getParameter("info");
%>
<%=content%>
</body>
</html>
再次运行便可看到:

2.request_接收请求参数
我们通常会使用getParameter()方法接收一个参数,无法接收一组参数。如果要接收一组参数,可以使用getParametersValues()方法进行接收。
下面我们直接使用小例子来说明:
(1)定义表单,传递多种参数-request_demo2.html
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>request接收参数</title>
</head> <body>
<form action="request_demo_02.jsp" method="post">
姓名:<input type="text" name="uname"><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="checkbox" name="inst" value="旅游">旅游
<input type="hidden" name="id" value="3">
<br><input type="submit" value="提交">
<input type="reset" value="重置">
</form>
</body>
</html>
(2)接收参数-request_demo_02.jsp
<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>request接收参数</title>
</head> <body>
<%
request.setCharacterEncoding("utf-8");
String id=request.getParameter("id");
String name=request.getParameter("uname");
String insts[]=request.getParameterValues("inst");
%>
<h2>编号:<%=id%></h2>
<h2>姓名:<%=name%></h2>
<%
if(insts!=null){
%>
<h3>兴趣:
<%
for(int x=0;x<insts.length;x++){
%>
<%=insts[x]%>
<%
}
%>
</h3>
<%
}
%>
</body>
</html>
程序运行结果如下图所示:

注:在web开发中,所有的参数不一定非要由表单传递,也可以使用地址重写的方式进行传递。(动态页面地址?参数名称1=参数内容1&参数名称2=参数内容2)
3.request_显示全部的头信息
头信息名称——getHeaderNames()
头信息内容——getHeader()
下面写个小例子来说明下:
request_demo_03.jsp
<%@ page contentType="text/html; charset=utf-8" language="java" import="java.util.*" errorPage="" %>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>request--头信息</title>
</head> <body>
<%
Enumeration enu=request.getHeaderNames(); //取得全部头信息
while(enu.hasMoreElements()){
String headname=(String)enu.nextElement();
String headvalue=request.getHeader(headname); //取得头信息内容
%>
<h5><%=headname%>-><%=headvalue%></h5>
<%
}
%>
</body>
</html>运行程序后浏览器中显示内容如下图所示:

jsp_内置对象_request的更多相关文章
- 初学JSP_内置对象
out内置对象: 表单,表单常用的的提交方式
- JSP_内置对象_response
response对象: response对象包含了相应客户请求的有关信息,但在JSP中很少直接用到它,它是HttpServletResponse类的实例.response对象具有页面作用域,即访问一个 ...
- JSP_内置对象_session
session表示客户端与服务器的一次会话. Web中的session指的是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间. 从上述定义中可以看到,s ...
- JSP_内置对象_请求转发和请求重定向的区别
请求重定向:客户端行为,response.sendRedirect(),从本质上将等同与两次请求,前一次请求request对象不会保存,地址栏的URL地址会改变. 请求转发:服务器行为,request ...
- JSP_内置对象_out
out对象是JspWriter类的实例,是向客户端输出内容的常用对象,常用方法如下: void println() 向客户端打印字符串 void clear() 清除缓冲区的内容,如果在flush之后 ...
- java web学习总结(二十五) -------------------JSP中的九个内置对象
一.JSP运行原理 每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理.JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet ...
- javaScript的内置对象
javaScript 有11种内置对象: Array . String .Date .Math . Boolean .Number . Function .Global .Error . RegExp ...
- ASP.NET的六大内置对象
ASP.NET 六大内置对象(System.Web.UI.Page类): 1.Response 2.Request 3.Server 4.Application 5.Session 6.Cooki R ...
- Jsp的九个内置对象
一.什么是内置对象?在jsp开发中,会频繁使用到一些对象.例如HttSession,ServletContext,HttpServletRequest.如果我们每次要使用这些对象都去创建这些对象,就会 ...
随机推荐
- c#利用反射获取对象属性值
public static string GetObjectPropertyValue<T>(T t, string propertyname){ Type type = type ...
- Python中的range函数用法
函数原型:range(start, end, scan): 参数含义:start:计数从start开始.默认是从0开始.例如range(5)等价于range(0, 5); end:技术到end结束,但 ...
- 介绍开源的.net通信框架NetworkComms框架 源码分析
原文网址: http://www.cnblogs.com/csdev Networkcomms 是一款C# 语言编写的TCP/UDP通信框架 作者是英国人 以前是收费的 售价249英镑 我曾经花了 ...
- Win32 OpenGL标准例子
在VS2008的MSDN中有一个标准的OpenGL例子,记录如下: /* * Example of a Win32 OpenGL program. * The OpenGL code is the s ...
- eclipse导出jar包的方法
第一:导出基本项目的jar包(此项目没有引用过第三方jar包) 1.在eclipse中选择你要导出的项目或package或类,右击,选择Export子选项: 2.在弹出的对话框中,选择java文件-- ...
- camstar --设备保养
- ————weak 和————block
Blocks理解: Blocks可以访问局部变量,但是不能修改 如果修改局部变量,需要加__block __block int multiplier = 7; int (^myBlock)(int) ...
- flexbox布局
一.侧轴对齐伸缩项目--align-items 它充许调整伸缩项目在侧轴(也就是y轴)的对齐方式,主要包括以下几个值: flex-start/baseline:伸缩项目在侧轴起点边的外边距紧靠住该行在 ...
- Android部分调试开关
开启 GPU Render 的profiling bar: adb shell setprop debug.hwui.profile visual_bars #或visual_lines adb sh ...
- java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
在ViewPager中,用Fragment显示页面时,报错: java.lang.IllegalStateException: The specified child already has a pa ...