Java 什么是隐式对象?这是什么意思?

Java 什么是隐式对象?这是什么意思?,java,jsp,servlets,Java,Jsp,Servlets,每当我学习JSP和servlet时,我都会遇到单词隐式对象,这个词是什么意思 在我的程序中如何调用它们而不实例化对象?谁实例化隐式对象?请详细说明 谢谢 JSP中的隐式对象是 对象创建的对象 容器自动和 容器使它们可供用户使用 开发者,开发者没有 需要显式地创建它们。自从 将创建这些对象 由容器自动生成,并且 使用标准变量访问; 因此,它们被称为隐式 对象 隐式对象由 容器,并将其插入 生成的servlet代码。他们是 仅在jspService中可用 方法,而不是在任何声明中。 隐式对象用于 不

每当我学习JSP和servlet时,我都会遇到单词隐式对象,这个词是什么意思

在我的程序中如何调用它们而不实例化对象?谁实例化隐式对象?请详细说明

谢谢

JSP中的隐式对象是 对象创建的对象 容器自动和 容器使它们可供用户使用 开发者,开发者没有 需要显式地创建它们。自从 将创建这些对象 由容器自动生成,并且 使用标准变量访问; 因此,它们被称为隐式 对象

隐式对象由 容器,并将其插入 生成的servlet代码。他们是 仅在jspService中可用 方法,而不是在任何声明中。 隐式对象用于 不同的目的。我们自己的方法 (用户定义的方法)无法访问 因为他们是当地的服务 方法,并在 将jsp转换为 servlet。但是我们可以把它们传给我们的 如果我们希望使用它们,请使用自己的方法 在这些职能中发挥作用


来源:

隐式对象是JSP容器在每个页面中为开发人员提供的一组Java对象。这些对象可以通过脚本元素作为内置变量访问,也可以通过JavaBeans和servlet编程访问

有关详细概述和使用方法,请参见下页


这些对象已经被servlet容器放置在作用域中,因此EL(表达式语言)可以访问它们,例如,等等。这些只是为了方便起见,所以您不需要使用旧的Fahored Scriptlet来获取它们

因此,与其举例说

<%= pageContext.getSession().getMaxInactiveInterval() %><br>
<%= request.getParameter("foo") %><br>
<%= request.getHeader("user-agent") %><br>
<%  for (Cookie cookie : request.getCookies()) { // Watch out with NPE!
        if (cookie.getName().equals("foo")) {
            out.write(cookie.getValue());
        }
    }
%><br>




你可以这么做

${pageContext.session.maxInactiveInterval}<br>
${param.foo}<br>
${header['user-agent']}<br>
${cookie.foo}<br>
${pageContext.session.maxInactiveInterval}
${param.foo}
${header['user-agent']}
${cookie.foo}
您可以看到,它们遵循要访问的JavaBean约定(即,您可以通过JavaBean方式调用getter)。您可以看到,我使用大括号符号
[]
来获取
用户代理
,这是因为
-
是EL中的保留字符,因此
${header.user agent}
不起作用,它将尝试返回
请求.getHeader(“用户”)-pageContext.findAttribute(“代理”)的结果
这显然是行不通的


有关所有这些对象的概述,请查看Java EE教程中的章节。

隐式对象是自动创建的,可供您使用。您不能创建与这些对象同名的其他变量。

JSP隐式对象是JSP容器在每个页面中为开发人员提供的Java对象,开发人员可以直接调用它们,而无需显式声明。JSP隐式对象也称为预定义变量

JSP支持九个隐式对象,如下所示:

  • 请求:这是与请求关联的HttpServletRequest对象
  • response:这是与对客户端的响应相关联的HttpServletResponse对象
  • out:这是用于将任何数据写入缓冲区的PrintWriter对象
  • session:这是与请求关联的HttpSession对象
  • 应用程序:这是与应用程序上下文关联的ServletContext对象
  • config:这是与页面关联的ServletConfig对象
  • pageContext:这封装了服务器特定功能的使用,如更高性能的JspWriters
  • 页面:这只是它的同义词,用于调用已翻译的servlet类定义的方法
  • 异常:异常对象允许指定的JSP访问异常数据

JSP隐式对象是由容器在将JSP页面转换为Servlet源代码时创建的,以帮助开发人员

隐式对象有九种类型,隐式对象也称为预定义变量。
1) 请求
2) 响应
3) 应用程序
4) 会话
5) 页面
6) 页面上下文
7) 退出
8) 例外情况

9) 配置错误。您确实可以使用相同的名称创建变量。但是,您必须定义范围。例如,一个请求范围,也就是说,人们不应该为了不好的实践而创建带有隐式对象名的变量。