`
fanta123
  • 浏览: 6722 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

关于request和session中的setAttribute

阅读更多
1,request.setAttribute(“curruser”, curruser)这个方法是将curruser这个对象保存在request作用域中,然后在转发进入的页面就可以获取到你的值,如果你会一些框架的话,那些框架标签也可以获取到,比如struts标签,还有jstl。如果这你都不会的话,那么你可以在jsp页面编写java小脚本来获取:<% User myuser = (User)request.getAttribute("curruser")%>,在jsp页面显示值:<%=myuser.getName()%>。
2,session.setAttribute("curruser", curruser)。这个方法和上面唯一的区别就是作用域,就是在你整个程序启动的时候,如果在session中保存了数据,那么在你这个无论你在哪个页面,在什么时候都可以获取到这个值,全局的,只要你的这个程序是启动的。session默认的过期时间是30分钟,过期无效,可以去修改这个值。

关于两者的作用域:

request的生命周期是request请求域,一个请求结束,则request结束
session的生命周期是session会话域,打开一个浏览器请求一个网站的页面后,Session开始,当session超过时间限制后,session注销而失效
或是人为使用session.invalidate();使用session失效;
或是关闭浏览器后,session还存在,但是这里已经无法获取session了,过一会它还是失效[color=darkred][/color]


什么时侯用Request,何时用session呢? 
当你的数据只需要在下一个forward有用时,用request就够了,(当然,如果可以用Form来传就更合理了),如果你的数据不只是在下一个forward有用时,就用session吧



  比较Request、Session、ServletContext三者的生存时间
  Request的生存时间是一次请求与响应期间。
  Session是多次请求与响应之间。
  ServletContext是一直存在,除非关闭服务器、或者
卸载了该应用
分享到:
评论

相关推荐

    JavaScript中setAttribute用法介绍

    我们经常需要在JavaScript中给Element动态添加各种属性,这可以通过使用setAttribute()来实现,这就涉及到了浏览器的兼容性问题

    在JSP中使用Session制作简单的登录模块

    &lt;br&gt;if (Name.equals("mike") && Password.equals("1234")) { session.setAttribute("Login", "OK"); response.sendRedirect("Member.jsp"); } else { out.println("登录错误,请输入正确名称...

    很经典的登录回选。

    // session.setAttribute("redirectUrl", request.getRequestURL().append("?").append(request.getQueryString()).toString()); String url = request.getParameter("url"); URLEncoder.encode(URLDecoder....

    struts乱码问题

    HttpSession session=request.getSession(); session.setAttribute("bookName", this.bookName); session.setAttribute("bookPrice", this.bookPrice); session.setAttribute("bookPress", this.bookPress); ...

    java小项目

    HttpSession session = request.getSession(); session.setAttribute("userName", name); session.setAttribute("pwd", pwd); session.setAttribute("msgList", msgList); response.sendRedirect("jspPages/...

    监听request、session、ServletContext 对象存放的数据变化情况

    博客地址:...存放数据指的是这三个对象在工程中setAttribute(),removeAttribute()的时候,我们的监听器就会知道,然后在对应的方法中执行相应的操作。

    Ajax请求session超时处理流程

    request.setAttribute("message", "Session timeout!"); response.sendRedirect(response.encodeRedirectURL("/ajaxDone.jsp"); else { response.sendRedirect(response.encodeRedirectURL(this.loginUrl + ...

    访问或添加三个范围的属性与获取Request-Session-ServletContext-Response对象.rar

    NULL 博文链接:https://llxhna.iteye.com/blog/1067851

    getAttribute和getParameter区别.

    request.setAttribute()和getAttribute()方法传递的数据只会存在于Web容器内部,在具有转发关系的Web组件之间共享。即request.getAttribute()方法返回request范围内存在的对象,而request.getParameter()方法是获取...

    Java类写的随机验证码

    session.setAttribute("random", RS);//在servlets.RandomServlet中。 3、验证验证码 //取出提交的验证码(用户写的) String code = request.getParameter("code"); //取出生成的验证码(系统生成的) HttpSession ...

    jsp基础精华详解

    HttpSession session = request.getSession(); session.setAttribute("name", "zhangsan"); session.setAttribute("pwd", "aaa"); String name = (String) session.getAttribute("name"); 2.cookie: //创建Cookie ...

    数据库测试test.sql

    request.setAttribute("ulist",userList); request.getRequestDispatcher("/admin/show.jsp").forward(request,response); } public void logout(HttpServletRequest request, HttpServletResponse response) ...

    struts2 session 解读

    HttpSession &lt; session = ServletActionContext.getRequest().getSession(); 例: public String findAll(){ HttpSession session = ... session.setAttribute(“list”, list); return this.SUCCESS;

    登陆jsp数据库验证的代码

    session.setAttribute("upassword",rs.getString(2)); session.setAttribute("userjb",rs.getString(3)); response.sendRedirect("sgly/gg-index.jsp"); rs.close(); stmt.close(); conn.close(); } ...

    Servlet解耦

    HttpSession session=request.getSession(); session.setAttribute("bookName", this.bookName); session.setAttribute("bookPrice", this.bookPrice); session.setAttribute("bookPress", this.bookPress); ...

    用户管理系统(ums)

    用户管理系统。... session.setAttribute("userList", list); //跳转到显示的页面,格式(得到当前页面的+要跳转的页面) response.sendRedirect(request.getContextPath()+"/manager.jsp"); }

    SSH_appp.zip

    session.setAttribute(Constants.DEV_USER_SESSION, user); //页面跳转(main.jsp) return "redirect:/dev/flatform/main"; }else{ //页面跳转(login.jsp)带出提示信息--转发 request.setAttribute("error...

    基于JSP的Web聊天室的设计与实现

    session.setAttribute("password",code); byte[] temp = name.getBytes("iso8859-1"); name= new String(temp); //get parameter try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection c=...

    比较简单的添加购物车,不过只有一个小程序

    session.setAttribute("cart", cart); } String id=request.getParameter("id"); List&lt;CartItem&gt; items=(List)this.getServletContext().getAttribute("items"); CartItem item=null; for(CartItem i ...

    jsp九大内置对象

     ● public void setAttribute(String key,Object obj):将参数Object指定的对象obj添加到Session对象中,并为添加的对象指定一个索引关键字。  ● public Object getAttribute(String key):获取Session对象中...

Global site tag (gtag.js) - Google Analytics