「这是我参与11月更文挑战的第23天,活动详情查看:2021最后一次更文挑战」
前言
1 | 复制代码大家好,我是程序猿小白 gw_Gw,很高兴能和大家一起学习进步。 |
以下内容部分来自于网络,如有侵权,请联系我删除,本文仅用于学习交流,不用作任何商业用途。
摘要
1 | 复制代码本文主要介绍JSP脚本中的9个内置对象中的application对象。 |
JSP脚本中包含9个内置对象,这九个内置对象其实就是JSP页面对应生成的Servlet类中的_jspService()方法中的形参或局部变量。
来看看什么是_jspService方法:
1 | java复制代码public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response) |
所以可以直接在JSP脚本中调用这些对象。
1.1 application对象
application对象用来操作application范围内的数据。application范围是整个Web应用,JSP和Servlet将数据放入到application中,该数据可以被整个Web应用下的Jsp和Servlet使用。
application对象的作用:
- 使得整个Web应用的JSP和Servlet可以共享数据。
- 可以访问web应用的配置参数。
1.1.1 共享数据
application对象通过使用setAttribute(String attrName,Object value)方法来设定共享数据的属性(attrName)和值(value)。
JSP和Servlet访问属性值需要使用getAttribute(String attrName)。
实例展示:
在index.jsp中定义变量并使用setAttribute来设置属性和值,并输出值。
1 | xml复制代码<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> |
在test.jsp页面中使用getAttribute来获取对应属性的值并输出。
1 | javascript复制代码<%@ page contentType="text/html;charset=UTF-8" language="java" %> |
applocation就相当于一个Map容器,把数据根据键(属性)放入到容器中,其他JSP和Servlet根据键来获取对应的值。
使用Servlet来获取属性值和JSP获取有些区别,使用Servlet来获取需要先创建ServletContext实例。
1 | ini复制代码ServletContecxt sc = getServletConfig().getServletContext(); |
1.1.2 获得Web应用配置参数
使用application对象的getInitParameter(String paramName)方法来获取web应用的配置参数。
web应用的配置参数在web.xml中使用context-param元素配置。
格式如下:
1 | xml复制代码<context-param> |
所以在使用getInitParameter(String paramName)方法来获取参数之前,需要先配置应用参数。
小结
以上就是关于JSP的九大内置对象之一的Application对象,希望能对读者有所帮助,如有不正之处,欢迎留言评论。
本文转载自: 掘金