您当前的位置: 首页 > 

宝哥大数据

暂无认证

  • 1浏览

    0关注

    1029博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

BaseWeb05-JSP

宝哥大数据 发布时间:2017-11-19 16:20:21 ,浏览量:1

参数传递 通过url?key=value或者request.setParameter(key, valye)的方式只能传递字符串;但是有的时候,我们在页面之间需要传递对象,这就要用到setAttribute(key, value)。如下:

这里写图片描述

对象传递失效? 不是,由于作用域的问题导致 一、内置对象(隐式对象)的作用域。 1.1、JSP九大隐式对象

这里写图片描述

1.2、在不同的页面中传递对象, 可以通过setAttribute(key, value)设置。通过getAttribute(key)获取。 1.2.1、可以传递对象的内置对象有:
  • PageContext
  • request(HttpRequestServlet)
  • Session(HttpSession)
  • Application(ServletContext)
1.3、pageContext pageContext对象是javax.servlet.jsp.PageContext 类的实例,用来代表整个JSP页面。 这个对象主要用来访问页面信息,同时过滤掉大部分实现细节。 这个对象存储了request对象和response对象的引用。application对象,config对象,session对象,out对象可以通过访问这个对象的属性来导出。
pageContext对象也包含了传给JSP页面的指令信息,包括缓存信息,ErrorPage URL,页面scope等。

PageContext类定义了一些字段,包括PAGE_SCOPE,REQUEST_SCOPE,SESSION_SCOPE, APPLICATION_SCOPE。它也提供了40余种方法,有一半继承自javax.servlet.jsp.JspContext 类。 其中一个重要的方法就是removeArribute(),它可接受一个或两个参数。比如,pageContext.removeArribute(“attrName”)移除四个scope中相关属性,但是下面这种方法只移除特定scope中的相关属性:

pageContext.removeAttribute("attrName", PAGE_SCOPE);
1.3.1、pageContext传递对象。 客户端跳转,服务端跳转都不能传递对象。

这里写图片描述

1.4、request对象 request对象是javax.servlet.http.HttpServletRequest 类的实例。每当客户端请求一个JSP页面时,JSP引擎就会制造一个新的request对象来代表这个请求。 request对象提供了一系列方法来获取HTTP头信息,cookies,HTTP方法等等。 1.4.1、request传递对象 客户端跳转,不能传递对象; 服务端跳转,能够传递对象。

这里写图片描述

1.5、session session对象是 javax.servlet.http.HttpSession 类的实例。和Java Servlets中的session对象有一样的行为。 session对象用来跟踪在各个客户端请求间的会话。 1.5.1、session传递对象

这里写图片描述

1.5.2、重新开一个窗口访问,仍然能够获取对象 1.5.3、将浏览器关闭,再次访问,不能够获取对象。 只有将浏览器关闭,session才丢失,否则会一直存在。 1.5.4、session使用的地方: 购物车 1.6、application application对象直接包装了servlet的ServletContext类的对象,是javax.servlet.ServletContext 类的实例。 这个对象在JSP页面的整个生命周期中都代表着这个JSP页面。这个对象在JSP页面初始化时被创建,随着jspDestroy()方法的调用而被移除。 通过向application中添加属性,则所有组成您web应用的JSP文件都能访问到这些属性。 1.6.1、applicaiton获取对象

这里写图片描述

1.6.2、重新打开一个窗口,仍然能够获取对象 1.6.3、将浏览器关闭,仍然能够获取对象 1.6.4、将服务器关闭,无法获取对象 applicaiton,除非将服务器重启,否则会一直获取到对象。 使用原则:

这里写图片描述

关注
打赏
1587549273
查看更多评论
立即登录/注册

微信扫码登录

0.0505s