JSP request对象

本文深入探讨了request对象在HTTP协议中的应用,包括如何通过request对象接收客户端发送的请求参数、头信息以及处理常见的HTTP请求方法。文章还介绍了解决乱码的方法、URL重写技巧,并提供了实际代码示例。

request对象

request内置对象是使用最多的一个对象了,其主要作用是用来接收客户端发送而来的请求信息,例如:请求的参数、发送的头信息等都属于客户端发来的信息,request是javax.servlet.http.HttpServletRequest接口的实例化对象,表示此对象主要是应用在HTTP协议上
对应接口:public interface HttpServletRequest extends ServletRequest

request常用方法

No.

方法

类型

描述

1

public String getParameter(String name)

普通

接收客户端发来的请求参数内容

2

public String[] getParameterValues(String name)

普通

取得客户端发来的一组请求参数内容

3

public Enumeration getParameterNames()

普通

取得全部请求参数的名称

4

public String getRemoteAddr()

普通

得到客户端的IP地址

5

void setCharacterEncoding(String env) throws UnsupportedEncodingException

普通

设置统一的请求编码

6

public boolean isUserInRole(String role)

普通

进行用户身份的验证

7

public Httpsession getSession()

普通

取得当前的session对象

8

public StringBuffer getRequestURL()

普通

返回正在请求的路径

9

public Enumeration getHeaderNames()

普通

取得全部请求的头信息的名称

10

public String getHeader(String name)

普通

根据名称取得头信息的内容

11

public String getMethod()

普通

取得用户的提交方式

12

public String getServletPath()

普通

取得访问的路径

13

public String getContextPath()

普通

取得上下文资源路径

解决乱码

由于浏览器默认的编码是UTF-8编码,而中文的GBK和UTF-8的编码是不一样的,所以在进行表单提交时造成了乱码。解决方法:setCharacterEncoding() 


接收参数

request内置对象中的getParameter()方法可以接收一个表单的文本框中输入的内容,如果有一组参数(同名参数)传递的话,则就必须使用getParameterValues()方法进行接收。
<!DOCTYPE HTML>
<html>
<head></head>
<body>
<form action="getRequestObj.jsp" method="post">
name:<input type="text" name="name">
password<input type="password" name="password">
list:<input type="checkbox" name="list" value="book">book
	<input type="checkbox" name="list" value="movie">movie
	<input type="checkbox" name="list" value="sports">sports
	<button type="submit">submit</button>
</form>
</body>
</html>

/*getRequestObj.jsp*/
<%@ page language="java" contentType="text/html; charset=utf8" pageEncoding="utf8" %>
 <%
 String name=request.getParameter("name");
 String password=request.getParameter("password");
 String[] list=request.getParameterValues("list");
 %>
 name=<%=name %>
 password=<%=password %>
 <%for(int i=0;i<list.length;i++){ %>
 item=<%=list[i]%>
 <% }%>
 

URL重写
在WEB的开发中,所有的参数不一定非要由表单传递过来,也可以使用地址重写的方式进行传递,地址重写的格式如下:动态页面地址?参数名称1=参数内容1&参数名称2=参数2&…
/*request.jsp*/
<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head></head>
<body>
<%	
	request.setCharacterEncoding("GBK") ;					// 设置统一编码
	String param1 = request.getParameter("name") ;		// 接收参数
	String param2 = request.getParameter("password") ;	// 接收参数
%>
<h3>姓名:<%=param1%></h3>
<h3>密码:<%=param2%></h3>
</body>
</html>


requestURL:request.jsp?name=zhang&password="huang"


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值