request的getAttribute问题

request的getAttribute问题,以例子说话:

在一个名为 User 的 java bean 中有如下语句:

private String name;

public String getName() {  //注意这里是大写,语句1

return name + "U";

}

public String getname() {  //注意这里是小写,语句2

return name + "L";

}

public String getNAME() {  //注意这里是大写,语句3

return name + "E”;

}

public void setName(String name) {

this.name = name;

}

在 servlet 中有如下语句:

User user = new User();

user.setName("a");

request.setAttribute("user", user);

request.setAttribute("age", "1");

request.getSession().setAttribute("user", user);

request.getSession().setAttribute("age", "2");

user.setName("b");

request.getRequestDispatcher("/test.jsp").forward(request, response);

user.setName("c");

在 test.jsp 中有如下语句:

${user.name }

${requestScope.user.name }

${sessionScope.user.name }

${age }

${requestScope.age }

${sessionScope.age }

输出如下:(没有写错,下列结果是正确的)

bU  bU  bU  1  1  2

如果将java bean 中的语句1注释掉,那么结果将如下所示:

bL  bL  bL  1  1  2

如果将 java bean 中的语句1和语句2都注释掉,将会报错

这个例子中的关注点有:

1、request.getAttribute 对 java bean 的解释机制

2、引用对象

3、request 与 session 的解释顺序

时间: 2024-08-11 09:43:25

request的getAttribute问题的相关文章

request的各种方法大全

request.setAttribute("result", district);//放进作用域,可以用el表达式在页面展示.(名字,调用方法的结果) pageContext.request.contextPath 上级目录 ?=request.getContextPath 得到路径赋予? request.getParameter("id"); //获得页面传来的id参数 request.getSession().removeAttribute(Constants.

JSP基础——属性保存范围和request对象

JSP属性保存范围 JSP中提供了四种属性保存范围,分别为page,request,session及application. 1.page范围,指设置的属性只在当前页面有效.通过pageContext的setAttribute()方法来设置属性,通过pageContext的getAttribute()来取得属性. 代码范例: <% pageContext.setAttribute("name","James"); %> <% String str=

springMVC 获取request 处理全局session业务

<a target=_blank href="http://blog.csdn.net/is_zhoufeng/article/details/7559756" style="color: rgb(0, 0, 0); text-decoration: none; font-family: 'Microsoft YaHei'; font-size: 20px; line-height: 30px; ">springMVC中得到request对象,sessi

【JSP手记】--jsp里面session.getAttribute(&quot;&#215;&#215;&#215;&quot;)在java中的表示

JSP里面的    <%=session.getAttribute("×××")%> 与java等价于         request.getSession().getAttribute("×××") *************************************************************************************

Cookie中的三个容器request,session,application的设置和获取

public class SaveServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletR

request.getSession().setAttribute(&quot;&quot;,..)和request.setAttribute(&quot;&quot;,...)的区别

request.getSession.setAttribute()是获得当前会话的session,然后再setAttribute到session里面去,有效范围是session而不是request. 而request.setAttribute()是setAttribute到request中去,有效范围是request. session在一次会话期内有效,例如:访问一个论坛,登陆后,你的用户名等信息被保存到session中,在session过期之前或你关闭这个网页前,用户名信息都可以通过reque

软键盘实例 request参数修改

软键盘实例 request参数修改 这里的键盘 里面的内容是乱序的,每次请求都会不一样的顺序. 键盘内容是一个DIV的背景图,方框是DIV边框.控制按钮直接在前台控制就行. 请求流程如下 JSP请求软键盘图片->action 绘制图片并记录 每个值对应的位置 JSP登录(密码位置)-->Filter把密码转换成真实密码值->登录校验Filter 代码如下 <%@ page isELIgnored="false" %> <%@ page languag

JAVA-JSP内置对象之request范围

相关资料:<21天学通Java Web开发> request范围1.在一次请求内有效.2.如果页面从一个页面跳转到另一个页面,那么属性就失效了.3.如果使用服务器端跳转<jsp:forward>,则属性仍然有效.4.通过使用request的setAttribute()方法来设置属性,并通过request的getAttribute(). requestdemo.jsp(用户跳转) 1 <%@ page language="java" contentType=

request与session的区别

request对象和session对象的最大区别是生命周期与范围. request request范围较小一些,只是一个请求. request对象的生命周期是针对一个客户端(说确切点就是一个浏览器应用程序)的一次请求,当请求完毕之后,request里边的内容也将被释放点掉. 就是你在页面上的一个操作,request.getParameter()就是从上一个页面中的url.form中获取参数. 例如:js function goback(){ var jfssq = $("#jfssq"