JavaWeb九大内置对象-------request

request对象

01.request:
请求对象,存储“客户端”向服务端发送的请求信息。

request常用的方法:

  1. String --------- getParameter(String name)
    根据请求的字段名(name/key),返回字段值 value
  2. String[ ] --------- getParameterValues(String name)
    根据请求的字段名(name/key),返回多个字段值value
  3. oid --------- setCharacterEncoding(" 编码格式 ")
    设置编码格式(post请求方式)
  4. getRequestDispatcher(" b.jsp ").forward(request,response);
    请求转发的方式跳转页面 - 由 当前页面------>b.jsp

    ServletContext --------- getServerContext( );
    获取项目的 ServletContext对象

getpost 提交方式

1.get提交方式
get提交方式会在地址栏上显示信息,如:
https://localhost:8080/连接/文件名?参数名 1 = 参数值1 & 参数名 2 = 参数值 2 & …

定义方式: method = “get” (一般在from标签中使用)。
注:地址栏超链接的请求方式默认为get

缺点:get方式会在地址栏上显示请求信息,安全性低。而且地址栏能容纳的信息有限,一般为4-5kb。

2.post提交方式
post提交方式不会显示请求信息在地址栏上(推荐使用

常见的异常:请求方式出现乱码
原因:Tomcat编码与文件编码不一致
1.get方式出现乱码
a.单个变量修改: new String(“旧编码”,“新编码”);
b.一次性修改:在server.xml文件中的 connector 中新增 属性 URIEncoding=" UTF-8 " (推荐使用)

2.post方式出现乱码
a.request.setCharacteEncoding(“UTF-8”);

应用: 使用request实现登陆

页面1: request.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<!-- 
			定义一个注册页面,点击注册跳转到show.jsp页面
	 -->	

	<form action="show.jsp" method="post"> 
	姓名:<input type="text" name="uname" /> </br>
	年龄:<input type="text" name="uage"/></br>
	密码:<input type="password" name="upsw"/></br>
	爱好:</br>
	<input type="checkbox" name="uhobbies" value="篮球"/>篮球、
	<input type="checkbox" name="uhobbies" value="足球"/>足球、
	<input type="checkbox" name="uhobbies" value="乒乓球"/>乒乓球
	<input type="submit" value="注册">
	</form>
</body>
</html>

页面2 show.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

	<% 	
			request.setCharacterEncoding("UTF-8");  //设置字符集为UTF-8
			String name = request.getParameter("uname");
			int age = Integer.parseInt(request.getParameter("uage")) ;
			String psw = request.getParameter("upsw");
			String[] hobbies = request.getParameterValues("uhobbies");
			
	%>
	
	<%=name %>你好!注册成功!信息如下:</br>
	姓名:<%=name %></br>
	年龄:<%=age %></br>
	密码:<%=psw %></br>
	爱好:
	<% 
		if(hobbies != null){
		for(String hobby:hobbies){
			out.print(hobbies+"&nbsp"+"&nbsp"+"&nbsp");
		}
		}else{
			out.print("uhobbies接收异常");
		}
	%>

</body>
</html>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值