Request对象req的请求方法

charset:字符集
在xml下鼠标右击,属性查看配置,
UTF-8(8位元,Universal Character Set/Unicode Transformation Format)是针对Unicode的一种可变长度字符编码。它可以用来表示Unicode标准中的任何字符,而且其编码中的第一个字节仍与ASCII相容,使得原来处理ASCII字符的软件无须或只进行少部份修改后,便可继续使用。因此,它逐渐成为电子邮件、网页及其他存储或传送文字的应用中,优先采用的编码。
UTF-8编码规则:如果只有一个字节则其最高二进制位为0;如果是多字节,其第一个字节从最高位开始,连续的二进制位值为1的个数决定了其编码的字节数,其余各字节均以10开头。

1,WEB下jsp下转换中文使用:charset=UTF-8

2,WEB下java类下配置格式
例:@WebServlet("/Hello1")

3,web下java类中中文乱码解决方法:
req.setCharacterEncoding(“UTF-8”);

4,通过参数获取获取请求信息的值(req.getParameter)Parameter:参数

@WebServlet("/Hello")
public class Hello extends HttpServlet{

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		
		req.setCharacterEncoding("UTF-8");          //设置字符集编码方式,为汉字扫除障碍
		System.out.println("开始运行");
		//根据参数获取请求信息的值
		String arr = req.getParameter("username");  //括号中为jsp下账户name获取参数名
		String brr = req.getParameter("userpwd");   //括号中为jsp下密码name获取参数名
		System.out.println(arr);
		System.out.println(brr);
	}
}

运行结果:
开始运行
东方红
123

5,获得客户端传送给服务器的所有参数的名字,结果是一个枚举req.getParameterNames()

@WebServlet("/Hello")
public class Hello extends HttpServlet{

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		
		//获得客户端传送给服务器的所有参数的名字,结果是一个枚举
		Enumeration<String>parameterNames=req.getParameterNames();
		while (parameterNames.hasMoreElements()) {
			String abc=parameterNames.nextElement();
			System.out.println(abc);			
		}
	}
}

运行结果:
username
userpwd

6,根据参数名获取参数值得数组req.getParameterValues("")

@WebServlet("/Hello")
public class Hello extends HttpServlet{

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		String[]parameterValues =req.getParameterValues("hobby");
		for(String i:parameterValues){
			System.out.println(i);
		}
	}
	
}

运行结果:
iq
zq

插播知识点:for循环小括号内可以是数组变量如String h:abc
abc为数组或者是map或者是list变量名
while小括号内只能是布尔类型是或否

7,获取所有参数map集合,返回类型是Map
req.getParameterMap()

@WebServlet("/Hello")
public class Hello extends HttpServlet{

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
	    
		
		req.setCharacterEncoding("UTF-8");
		Map<String, String[]>parameterMap=req.getParameterMap();
		
		//set如何遍历呢
		for(Map.Entry<String, String[]> entry:parameterMap.entrySet()) {
			String key = entry.getKey();
			String[] value = entry.getValue();
			
			System.out.println("当前条目的键 " + key);
			for (String a:value) {
				System.out.println(a);
			}
			
		}
		
	}
	
}

运行结果:
东方红
当前条目的键 userpwd
123
当前条目的键 hobby
iq

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值