`
laorer
  • 浏览: 432054 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

jsp中的ServletContext

阅读更多
12月27日

jsp中的隐藏对象

隐含对象(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.HttpServletResponseresponse对象用于把取得的数据返回到客户端。这个隐含对象可以实现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,在本章的前面已讨论过ServletContextApplication对象用于访问存储在ServletContext中的全局范围的对象。Application对象的使用方法可以在本章前面部分看到,在次不做叙述。

 

Config对象

Config对象来源于ServletConfig,它包含了当前JSP/Servlet所在的WEB应用的配置信息。

 

Page对象

Page对象来源于当前被访问JSP页面的实例化。它实际使用的是JSP转换成的Servlet

 

Exception对象

Exception对象用于捕获JSP抛出的异常。它只有在JSP页面属性isErrorPage=true时才可用。

关于Jsp中的Application对象

ServletContext

ServletContext是定义在javax.servlet包中的对象。它定义了用于WEB应用中的服务器端组件关联servlet容器的方法集合。

ServletContext经常被用于存储对象的区域,这些对象在WEB应用中的所有的服务器端组件中使用。你可以把ServletContext当作在WEB应用中共享的存储区域。把一个对象放置到ServletContext中时,它存在于WEB应用的整个生命周期中,除非它被明确的删除或替换。ServletContext中定义了四个方法来实现存储区的共享功能。

2.1描述了四个方法:

方法名

描述

setAttribute(String name,Object obj)

通过名称绑定一个对象并存储对象到当前ServletContext。如果指定的名称已经被使用过,这个方法会删除旧对象绑定为新对象。

getAttribute(String name)

返回指定名称的对象,如果名称不存在返回null

removeAttribute(String name)

ServletContext中删除指定名称的对象

 

getAttributeNames()

 

返回在ServletContext中的指定名称的对象集合

 

ServletContext在jsp中所对应的就是application, application为ServletContext的一个引用

 

示例:

Servlet中

// 获取ServletContext

ServletContext context = getServletContext();

// 获取

String userName = (String)context.getAttribute("USERNAME");

 

在对应的Jsp中

String userName = (String)application.getAttribute("USERNAME");

 


分享到:
评论

相关推荐

    servlet中的ServletContext的使用

    `JSPExample`可能包含了演示`ServletContext`用法的JSP页面,这可能是用来展示如何在JSP中直接获取`ServletContext`,并从中读取或设置属性的。通常,这可以通过`pageContext`对象的`getServletContext()`方法实现。...

    ServletContext读取web应用中的资源文件.doc

    ServletContext 读取 web 应用中的资源文件 在 Web 应用程序中,我们经常需要读取某些资源文件,如配置文件、图片等等。为了实现这一点,ServletContext 接口提供了一些方法来读取 web 应用中的资源文件,这些方法...

    ServletContext与ServletConfig关系

    ServletConfig 对象可以通过 init 方法的参数传递获取,也可以在 JSP 中使用内置的 config 对象访问。在 Servlet 中,可以在 init 方法中获取 ServletConfig 对象,然后在后续方法中访问其参数。 然后,让我们来看...

    35、servlet--servletContext

    3. **添加和获取属性**:Servlet可以将数据存储在`servletContext`中,并由其他Servlet或JSP页面获取。这是一种跨Servlet的数据共享机制。 4. **资源路径访问**:`servletContext`可以用来获取Web应用的资源路径,...

    jsp网站源码jsp网站源码

    因此,现代Web开发中,更多地采用JavaServer Faces (JSF)、Spring MVC等更高级的框架来替代纯JSP。 总之,JSP是一种强大的服务器端技术,用于构建动态、交互式的Web应用程序。理解和掌握JSP的原理和实践,对于任何...

    Jsp中文api帮助文档.chm

    **JSP内置对象** 是JSP提供的一组预定义的对象,可以直接在JSP页面中使用,无需显式声明。这些内置对象包括: 1. **request**:HttpServletRequest对象,用于处理客户端的请求信息。 2. **response**:...

    JSP中5种跳转foward,request等等的详细区别

    JSP 中的五种跳转方式详细区别 在 JSP 编程中,跳转是一种常见的技术手段,用于将用户从当前页面重定向到另一个页面。JSP 中有五种跳转方式,包括 RequestDispatcher.forward()、response.sendRedirect()、jsp:...

    jsp中的EL表达式简介

    - `pageContext`:提供对JSP隐式对象如请求、响应、会话、输出和servletContext的访问。 - `param`:映射请求参数到单一字符串值。 - `paramValues`:映射请求参数到字符串数组。 - `header`:映射HTTP请求头到...

    jsp面试题题库

    在这篇文章中,我们将对 JSP 面试题库进行总结和分析,从中我们可以看到 JSP 的基本概念、JSP 声明、JDBC、JavaBean 等知识点。 首先,让我们来看一下 JSP 的基本概念。JSP(Java Server Pages)是一种动态网页技术...

    ServletContext与application异同.docx

    在JSP中,`application`对象就是`ServletContext`的实例。 6. **使用场景** - `ServletContext`常用于实现会话跟踪、共享全局变量、监听应用事件(如初始化、销毁)等。 - 如果需要在多个Servlet间共享非持久性的...

    Head First Servlets and JSP 中文 第二版

    书中详细介绍了Servlet生命周期,包括Servlet的初始化、服务、销毁等阶段,以及如何使用ServletConfig和ServletContext接口来获取配置信息和整个应用的共享资源。 JSP(JavaServer Pages)是动态网页技术,它将Java...

    Jsp中的常用功能

    在JSP页面中,我们可以使用`ServletContext`对象的`getInitParameter()`方法来获取这些参数: ```java String myParam = getServletConfig().getInitParameter("myParam"); ``` ### **过滤器(Filter)** 过滤器...

    JSP中基于Session的在线用户统计分析

    在JSP中,基于Session的在线用户统计分析是一种常见的用户管理技术,用于追踪并记录当前正在网站上活动的用户。Session是Web应用中用来跟踪用户状态的一种机制,它允许服务器端存储特定用户会话的数据,即使用户在...

    jsp电子书大全 pdf格式

    7. **Servlet API**:JSP常常与Servlet协同工作,了解Servlet API,如ServletConfig、ServletContext等,对于编写高效JSP程序至关重要。 8. **AJAX与JSP**:讲解如何在JSP中集成AJAX技术,实现页面的无刷新更新。 ...

    jsp九大内置对象讲解

    JSP九大内置对象是JSP技术中非常重要的一部分,它们是JSP引擎提供的一些预定义的对象,用于帮助开发者快速地开发Web应用程序。本文将详细介绍JSP九大内置对象,并对其原理和使用方法进行解释。 一、JSP运行原理 在...

    jsp的四个作用域

    存放在ServletContext对象中。它的存活时间是最长的,如果不进行手工删除,它们就一直可以使用。例如,在index.jsp页面中设置一个变量,然后在整个应用程序中都可以访问这个变量。 使用jsp的四个作用域需要根据实际...

    JSP_counter计数器

    // 从session或ServletContext中获取计数器 if (session.getAttribute("counter") != null) { counter = (int) session.getAttribute("counter"); } else { counter = 0; // 初始化计数器 session....

    java中JSP和el表达式的隐含对象

    ### Java中JSP和EL表达式的隐含对象详解 在Java Web开发中,JSP(Java Server Pages)作为一种常用的技术被广泛应用于构建动态网页。它允许开发者将HTML、JavaScript等静态网页元素与动态生成的内容混合在一起。在...

Global site tag (gtag.js) - Google Analytics