隐含对象(Implicit Objects)
作为JSP开发人员,你经常会隐含的访问那些在所有的JSP文件中都可以使用的对象。
如果你使用了这些对象,它们会被JSP引擎分析出,并在生成servlet时插入到对应的位置。
Out对象
Out隐含对象来源于java.io.Writer类,它用于发送输出流到客户端。
最通用的时out.println()方法,它来打印文本信息到客户端浏览器。
列表2.8显示了使用out隐含对象的例子:
--------------------------------------------------------------------------
<%@ page errorPage="errorpage.jsp" %>
<html>
<head>
<title>Use Out</title>
</head>
<body>
<%
// Print a simple message using the implicit out object.
out.println("<center><b>Hello Wiley" +
" Reader!</b></center>");
%>
</body>
</html>
--------------------------------------------------------------------
为了执行这个例子,复制文件到
<CATALINA_HOME>/webapps/ wileyapp/ 目录下,在浏览器中输入如下地址:
http://localhost:8080/wileyapp/out.jsp
你会看到:Hello Wiley Reader!
Request对象
这个隐含对象来源于javax.servlet.http.HttpServletRequest接口。它被关联到每一个HTTP请求。常用它来访问请求参数。你可以调用request对象的带参数名称的getParameter()方法,它将返回一个和参数名称匹配的字符串。
Request对象的使用例子如下
列表2.9: request.jsp.
-----------------------------------------------------------------------
<%@ page errorPage="errorpage.jsp" %>
<html>
<head>
<title>UseRequest</title>
</head>
<body>
<%
out.println("<b>Welcome: " +
request.getParameter("user") + "</b>");
%>
</body>
</html>
----------------------------------------------------
JSP通过参数user调用request.getParameter()方法。这个方法寻找参数列表中的键值user来返回数据。在浏览器中输入如下:
http://localhost:8080/wileyapp/request.jsp?user=Robert
可以看到输出:Welcome:Robert。
Response对象
response隐含对象来源于javax.servlet.http.HttpServletResponse。response对象用于把取得的数据返回到客户端。这个隐含对象可以实现HttpServletRequest所有的功能,和你在servlet处理没有什么区别。Response对象经常用于向客户端输出信息。然而JSP API已经提供了一个流对象out来输出信息到客户端。
PageContext对象
PageContext对象提供访问JSP页面的命名空间。它也提供用来访问其他的JSP隐含对象。比较常用的是使用setAttribute() 和getAttribute()方法设置和寻找对象。
Session对象
Session对象来源于javax.servlet.http.HttpSession。它用于存储客户端请求的信息,因此它是有状态交互式的。
Session对象列表如下:
列表2.10: session.jsp.
-------------------------------------------------------------------------------------
<%@ page errorPage="errorpage.jsp" %>
<html>
<head>
<title>Session Example</title>
</head>
<body>
<%
// get a reference to the current count from the session
Integer count = (Integer)session.getAttribute("COUNT");
if ( count == null ) {
// If the count was not found create one
count = new Integer(1);
// and add it to the HttpSession
session.setAttribute("COUNT", count);
}
else {
// Otherwise increment the value
count = new Integer(count.intValue() + 1);
session.setAttribute("COUNT", count);
}
out.println("<b>You have accessed this page: "
+ count + " times.</b>");
%>
</body>
</html>
复制文件到
<CATALINA_HOME>/wileyapp/ 目录,在浏览器中输入地址:
http://localhost:8080/wileyapp/session.jsp
如果你刷新页面访问次数会增加。
Application对象
Application对象来源于javax.servlet.ServletContext,在本章的前面已讨论过ServletContext。Application对象用于访问存储在ServletContext中的全局范围的对象。Application对象的使用方法可以在本章前面部分看到,在次不做叙述。
Config对象
Config对象来源于ServletConfig,它包含了当前JSP/Servlet所在的WEB应用的配置信息。
Page对象
Page对象来源于当前被访问JSP页面的实例化。它实际使用的是JSP转换成的Servlet。
Exception对象
Exception对象用于捕获JSP抛出的异常。它只有在JSP页面属性isErrorPage=true时才可用。
相关推荐
`JSPExample`可能包含了演示`ServletContext`用法的JSP页面,这可能是用来展示如何在JSP中直接获取`ServletContext`,并从中读取或设置属性的。通常,这可以通过`pageContext`对象的`getServletContext()`方法实现。...
ServletContext 读取 web 应用中的资源文件 在 Web 应用程序中,我们经常需要读取某些资源文件,如配置文件、图片等等。为了实现这一点,ServletContext 接口提供了一些方法来读取 web 应用中的资源文件,这些方法...
ServletConfig 对象可以通过 init 方法的参数传递获取,也可以在 JSP 中使用内置的 config 对象访问。在 Servlet 中,可以在 init 方法中获取 ServletConfig 对象,然后在后续方法中访问其参数。 然后,让我们来看...
3. **添加和获取属性**:Servlet可以将数据存储在`servletContext`中,并由其他Servlet或JSP页面获取。这是一种跨Servlet的数据共享机制。 4. **资源路径访问**:`servletContext`可以用来获取Web应用的资源路径,...
**JSP内置对象** 是JSP提供的一组预定义的对象,可以直接在JSP页面中使用,无需显式声明。这些内置对象包括: 1. **request**:HttpServletRequest对象,用于处理客户端的请求信息。 2. **response**:...
JSP 中的五种跳转方式详细区别 在 JSP 编程中,跳转是一种常见的技术手段,用于将用户从当前页面重定向到另一个页面。JSP 中有五种跳转方式,包括 RequestDispatcher.forward()、response.sendRedirect()、jsp:...
- `pageContext`:提供对JSP隐式对象如请求、响应、会话、输出和servletContext的访问。 - `param`:映射请求参数到单一字符串值。 - `paramValues`:映射请求参数到字符串数组。 - `header`:映射HTTP请求头到...
在这篇文章中,我们将对 JSP 面试题库进行总结和分析,从中我们可以看到 JSP 的基本概念、JSP 声明、JDBC、JavaBean 等知识点。 首先,让我们来看一下 JSP 的基本概念。JSP(Java Server Pages)是一种动态网页技术...
在JSP中,`application`对象就是`ServletContext`的实例。 6. **使用场景** - `ServletContext`常用于实现会话跟踪、共享全局变量、监听应用事件(如初始化、销毁)等。 - 如果需要在多个Servlet间共享非持久性的...
书中详细介绍了Servlet生命周期,包括Servlet的初始化、服务、销毁等阶段,以及如何使用ServletConfig和ServletContext接口来获取配置信息和整个应用的共享资源。 JSP(JavaServer Pages)是动态网页技术,它将Java...
因此,现代Web开发中,更多地采用JavaServer Faces (JSF)、Spring MVC等更高级的框架来替代纯JSP。 总之,JSP是一种强大的服务器端技术,用于构建动态、交互式的Web应用程序。理解和掌握JSP的原理和实践,对于任何...
在JSP页面中,我们可以使用`ServletContext`对象的`getInitParameter()`方法来获取这些参数: ```java String myParam = getServletConfig().getInitParameter("myParam"); ``` ### **过滤器(Filter)** 过滤器...
在JSP中,基于Session的在线用户统计分析是一种常见的用户管理技术,用于追踪并记录当前正在网站上活动的用户。Session是Web应用中用来跟踪用户状态的一种机制,它允许服务器端存储特定用户会话的数据,即使用户在...
7. **Servlet API**:JSP常常与Servlet协同工作,了解Servlet API,如ServletConfig、ServletContext等,对于编写高效JSP程序至关重要。 8. **AJAX与JSP**:讲解如何在JSP中集成AJAX技术,实现页面的无刷新更新。 ...
JSP九大内置对象是JSP技术中非常重要的一部分,它们是JSP引擎提供的一些预定义的对象,用于帮助开发者快速地开发Web应用程序。本文将详细介绍JSP九大内置对象,并对其原理和使用方法进行解释。 一、JSP运行原理 在...
存放在ServletContext对象中。它的存活时间是最长的,如果不进行手工删除,它们就一直可以使用。例如,在index.jsp页面中设置一个变量,然后在整个应用程序中都可以访问这个变量。 使用jsp的四个作用域需要根据实际...
// 从session或ServletContext中获取计数器 if (session.getAttribute("counter") != null) { counter = (int) session.getAttribute("counter"); } else { counter = 0; // 初始化计数器 session....
### Java中JSP和EL表达式的隐含对象详解 在Java Web开发中,JSP(Java Server Pages)作为一种常用的技术被广泛应用于构建动态网页。它允许开发者将HTML、JavaScript等静态网页元素与动态生成的内容混合在一起。在...