resquest.setAttribute的用法

setAttribute这个方法,在JSP内置对象session和request都有这个方法,这个方法作用就是保存数据,然后还可以用getAttribute方法来取出。
比如现在又个User对象,User curruser = new User("zhangsan", 20, "男");
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分钟,过期无效,可以去修改这个值。
 
RequestDispatcher---->实现Servlet之间的请求传递(页面跳转),有以下两种方式(都有共享request和response):
1.forward(ServletRequest, ServletResponse)  //跳转到其他资源
2.include(ServletRequest, ServletResponse)  //包含其他资源
如何获得RequestDispatcher对象
1) request.getRequestDispatcher(String page)     ---->相对路径或者绝对路径
2) ServletContext.getRequestDispather(String page)  ---->绝对路径
------------------------------------------

你可能感兴趣的:(resquest.setAttribute的用法)