JSP数据交互(二)----application

一 . application内置对象

答 : application对象类似于系统的"全局变量" , 用于同一个应用内的所有用户之间的数据共享 , application对象的生命周期是贯穿服务器的运行周期 ;

二 . application的常用方法

答 : 1 . void setAttribute(String key , Object value) : 以key/value的形式将对象存储到application中 , 此处如果存储常用数据类型的话 , 需要存储封装类型的数据对象 , 用法如下 ; 

            示例 :

<%

    Integer count = (Integer) application.getAttribute("count");

    if(count!=null){

    count+=1;

    }else{

    count=1;

    }

    application.setAttribute("count", count);

%>

      2 . Object getAttribute(String key) : 通过key获取application中存储的对象 , 使用方法如下 ; 

           示例 :

<%

    String username=(String)application. getAttribute (“username”);

    out.println(username);

%>

      3 . String getRealPath(String path) : 返回相对路径的真实路径 ;

      4 . Enumeration getAttributeNames() : 该方法返回所有与当前application对象绑定在一起的参数或者java对象的名字 , 这个对象的返回值是一个枚举对象 , 使用方法如下 :

           示例 :

<%

     Enumeration enum1=application.getAttributeNames();

     while(enum1.hasMoreElements()){

          String attrName=(String)enum1.nextElement();

          out.println(attrName+”<br>”);

      }

%>

      5 . getServerInfo() : 该方法可以获得当前服务器的详细信息,不同的服务器返回的信息格式不一样 ;

     6 . removeAttribute(String name) : 此方法可以删除已经存储的key/value键值对 , 删除之后则不能再用getAttribute()方法来获取值 , 否则返回null值 ;

      7 .  log(String msg) : 该方法用于往服务器的log文件中写入信息,利用这个方法,我们可以在log文件中记录访问者的信息,这对于统计访问流量来源方面十分有用,同时也便于管理员监控网站的运行情况。其实,还有一个同名但使用不同参数的log()方法,利用后者,我们可以将JSP程序执行过程中所发生的错误事件都记入log文件中 ; 

三 . application的用法以及注意事项

答 : 1 . 登录控制页面中增加如下代码 : 

<%

    Integer count = (Integer) application.getAttribute("count");

    if(count!=null){

    count+=1;

    }else{

    count=1;

    }

    application.setAttribute("count", count);

%>

      2 . 在显示统计数据中增加如下代码 :

<body>

<%

Integer i = (Integer) application.getAttribute("count");

%>

访问量统计 : 目前共有<%=i %>个人访问过本网站

<a href="invalidateSession.jsp">注销登陆</a>

</body>

      3 . invalidateSession.jsp是会话失效页面 , 在此页面中该会话失效并返回登录页面 :

<body>

<%

    session.invalidate();

    response.sendRedirect("login.jsp");

%>

</body>

注意事项 : 

      服务器启动后产生了这个application对象,当客户在访问的网站的各个页面之间浏览时,这个对象都是同一个,直到服务器关闭 , 如果是上面的例子 , tomcat服务器停止后 , 计数将会清零 ;

四 . 获得application对象的方式

答 : 1 . 在JSP程序中直接使用application代表application对象 , 比如我们上面的例子中的用法 ;

      2 . 使用ServletConfig接口

           ⑴ . 使用ServletConfig接口可以间接获取application对象,但是这个application对象的名字不能同样为        application,因为application是JSP引擎创建的默认的application对象的副本,不能够被覆盖 ; 

           ⑵ . 使用ServletConfig接口其实就是使用config对象,config对象是实现ServletConfig接口的类的实例        对象,它可以通过调用getServletContext()方法返回一个ServletContext接口的对象,也就是application          对象的一个副本

           示例:

           <%
ServletContext app = config.getServletContext();
        out.println(app.getServerInfo());
    %>

      3 . pageContext对象的getServletContext()方法同样可以返回一个application对象的副本 ;

           示例 :

<%

     ServletContext app= pageContext. getServletContext();

     out.println(app.getServerInfo()); 

%>

五 . JSP常用内置对象的总结

答 : 1 . out : 用与向客户端输出消息 ; 

      2 . request : 主要用于处理客户端请求的数据信息 ; 

      3 . response : 用于响应客户端请求并向客户端输出信息 ;

      4 . session : 用于记录会话状态的相关信息 ; 

      5 . application : 类似于系统的全局变量 , 用于实现web应用中的资源共享 ;

      6 . pageContext : 提供了JSP在运行时访问和其相关的环境信息的能力 , 通过该对象可以访问和当前JSP页面相关联的所有作用域 , 以及一些页面属性 , 常用方法如下 :

           ⑴ . ServletRequest getRequest() : 获得reuqest对象 ;

           ⑵ . ServletContext getServletContext() : 获得application对象的一个副本 ; 

           ⑶ . ServletResponse getResponse() : 获得response对象 ;

           ⑷ . HttpSession getSession() : 获得session对象 ; 

           ⑸ . JspWriter getOut() : 获得out对象 ;

           ⑹ . void setAttribute() : 保存属性 ;

           ⑺ . Object getAttribute() : 获得属性 ; 

           ⑻ . void include() : 请求指定的资源 , 并将目标资源的响应结果包含在调用页面的相应中 ;

      page : 表示当前页面 , 类似于java中的this , 在JSP页面中 , 很少使用page对象 ;

      config : 用于存放JSP编译后的初始数据 , 与page对象一样 , 在JSP页面中很少使用 ;

     exception : 表示JSP页面运行时产生的异常和错误信息 , 该对象只有在错误页面(page指令中设定isErrorPage为true的页面)中才能够使用 ;


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值