Request setAttribute(),是一种JavaSE Servlet中的API方法,用于绑定当前Request对象与属性值或应用上下文,内容相关的信息,用以保存和获取在一次请求过程中产生或者使用到的信息。
一、该方法的特点
1.\tRequest setAttribute()方法使用Servlet中的API,实现request对象可以和属性值直接绑定。
2.\t它可以用来保存不同的内容或信息,属性的数据类型可以是Object类型的,跨类型的,也可以用于文件的上传或下载,及访问会话信息之类的。
3.\t如果想要更改或删除已经绑定的属性值,可以直接产用removeAttribute() 方法实现。
4.\t如果想要获取保存在HttpRequest 对象中 属性值,可以直接使用getAttribute()方法
二、使用举例
1. \t使用String类型,将用户名绑定到当前 HttpRequest 对象:
request.setAttribute(\"userName\", “stark-zhang”)
2. \t将一个学生对象绑定到当前 HttpRequest 对象:
Student student= new Student(\"王小明\",\"1\",21);
request.setAttribute(\"studentInfo\", student);
三、使用注意事项
1.\tRequest setAttribute()中,属性的值可以是任意的类型的Object类型的,但是要注意两个属性不能具有相同的属性名称,不然后一次设置会覆盖前一次设置的数据。
2.\t注意可以使用removeAttribute()删除指定属性
3.\t可以使用getAttribute()方法获取想要的属性值。
在Web应用程序中,request setAttribute方法是一种用于在请求期间向Web应用程序传递属性值的重要方法。
1、request setAttribute方法的作用:request setAttribute方法可以将一个属性(称为“键”)和任意对象(称之为“值”)保存在请求范围中。这样,在分发请求时,用户便可以从HttpServletRequest对象中获取该属性/值对的新值。
2、request setAttribute方法的实现原理:用户可以通过使用request setAttribute方法在HttpServletRequest对象中指定要存储的属性/值对。其实,它将数据保存在ServletRequest的属性存储中。
例如:HttpServletRequest req = (HttpServletRequest) request;
req.setAttribute(“attribute_name”, attribute_value);
3、请求属性生命周期:request setAttribute方法所创建的属性/值对绑定到servletRequest内,请求属性从调用request setAttribute方法开始,到HTTP请求结束,用户可以在这段期间使用该属性/值对。
4、request setAttribute方法的参数:该方法有两个参数。第一个参数属性键,它是一个标识符,用于引用特定属性。第二个参数是相应属性值,它可以是任何类型的Java对象。
5、request setAttribute方法throws和返回:当调用者尝试将属性/值对绑定到servletRequest的属性存储时,如果属性键重复,就会抛出IllegalStateException。此外,request setAttribute方法没有任何返回值。
6、request setAttribute方法的限制:request setAttribute方法受到大小、时间和数量限制,因此,用户不能期望把任何大量或大量数据存储在请求属性中。此外,请求属性只能保存到当前HTTP请求结束之前,再次使用它的唯一选择就是在请求处理器的同一方法中重新设置该属性/值对。