一. 隐式对象

JSP隐式对象
对象 类型
request javax.servlet.http.HttpServletRequest
response javax.servlet.http.HttpServletResponse
out javax.servlet.jsp.JspWriter
session javax.servlet.http.HttpSession
application javax.servlet.ServletContext
config javax.servlet.ServletConfig
pageContext javax.servlet.jsp.PageContext
page javax.servlet.jsp.HttpJspPage
exception java.lang.Throwable

1.request可以理解为一个指向HttpServletRequest对象的引用变量,下面是示例代码

<%
String userName = request.getParameter("userName");
%>

2.pageContext用于javax.servlet.jsp.PageContext。它提 供了有用的上下文信息,并通过其自说明的方法来访问 各种Servlet相关对象,如getRequest、getResponse、 getServletContext、getServletConfig和getSession。

  pageContext提供了用于获取和设置属性的方法,属性值可被存储在4个范围之一:页 面、请求、会话和应用程序。页面范围是最小范围,这 里存储的属性只在同一个JSP页面可用。请求范围是指 当前的ServletRequest中。会话范围指当前的HttpSession 中。应用程序范围指应用的ServletContext中。 PageContext的setAttribute方法签名如下:

public abstract void setAttribute(java.lang.String name, java.lang.Object value, inscope)

  其中,scope的取值范围为PageContext对象的最终 静态int值:PAGE_SCOPE、REQUEST_ SCOPE、 SESSION_SCOPE和APPLICATION_SCOPE。 若要保存一个属性到页面范围,可以直接使用 setAttribute重载方法:

public abstract void setAttribute(java.lang.String name, java.lang.Object value)

  如下脚本将一个属性保存到ServletRequest中:

<%
//product is a Java object
pageContext.setAttribute("product", product,
PageContext.REQUEST_SCOPE);
%>

同样效果的Java代码如下:

<% request.setAttribute("product", product); %>

<% request.setAttribute("prodcute",producte) %>

三.隐式对象out引用了一个javax.servlet.jsp.JspWriter对 象,这类似于你在调用HttpServlet Response的getWriter 方法时得到java.io.PrintWriter。可以通过调用它的print 方法将消息发送到浏览器。例如:

out.println("welcome");

例:

<%@page language="java"  contentType="text/html; charset=UTF-8"  pageEncoding="UTF-8" %>
<%@ page import="java.util.Enumeration" %>
<html>
<head><title>Implicit</title></head>
<body>
<b>Http Header:</b>
<%
for(Enumeration<String> e = request.getHeaderNames(); e.hasMoreElements(); )
{
String header = e.nextElement();
out.println(header + ": " + request.getHeader(header) + "<br />" );
}
%>
<hr /> <%
out.println("Buffer size: " + response.getBufferSize() + "<br />");
out.println( "Session id: "+ session.getId() + "<br />");
out.println("Servlet Name: " + config.getServletName() + "<br />");
out.println("Servlet info " + application.getServerInfo() + "<br />");
%> </body>
</html>

输出

JSP 隐式对象的更多相关文章

  1. 【Head First Servlets and JSP】笔记16:JSP隐式对象(内置对象)的映射关系

    接笔记15. 1.不管是JSP中的<%%>还是<%\=%>最终都将处于servlet的方法体中,那么有没有一种元素可以声明成类的成员呢? ——答案是有,而且非常非常简单,这个元 ...

  2. jsp学习与提高(二)——JSP 隐式对象、表单处理及过滤器

    1.JSP 隐式对象 JSP隐式对象是JSP容器为每个页面提供的Java对象,开发者可以直接使用它们而不用显式声明.JSP隐式对象也被称为预定义变量. JSP所支持的九大隐式对象: 对象 描述 req ...

  3. JSP-Runoob:JSP 隐式对象

    ylbtech-JSP-Runoob:JSP 隐式对象 1.返回顶部 1. JSP 隐式对象 JSP隐式对象是JSP容器为每个页面提供的Java对象,开发者可以直接使用它们而不用显式声明.JSP隐式对 ...

  4. jsp隐式对象

    隐式对象使用位置 隐式对象在转译为Servlet后,是_jspService()中的局部变量.隐式对象只能在<%与%>之间,或<%=与%>之间直接使用. 无法在<%!与% ...

  5. JSP——隐式对象(implicit object)

    Servlet容器将几个对象传递给它所运行的Servlet. 例如,在Servlet的service方法中获得HttpServletRequest和HttpServletResponse,并在init ...

  6. 有关JSP隐式对象,以下( )描述正确。

    A.隐式对象是WEB容器加载的一组类的实例,可以直接在JSP页面使用 B.不能通过config对象获取ServletContext对象 C.response对象通过sendRedirect方法实现重定 ...

  7. jsp 是什么 ,jsp 隐式对象

    google 搜索 java server page http://www.oracle.com/technetwork/java/javaee/jsp/index.html http://docs. ...

  8. JSP页面以及JSP九大隐式对象

    €JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术. €JSP这门技术的最大的特点在于,写jsp就像在写html,但它相比 ...

  9. JSP与EL隐式对象

    一,JSP隐式对象 隐式对象是可以直接使用的,无需声明.因为在JSP转译为servlet文件后,会自动声明其对象. 隐式对象① 说明 out 对应JspWriter对象,其内部关联一个PrintWri ...

随机推荐

  1. python之MD5加密

    一. MD5加密import hashlib #Python3里的引用#import md5 #Python2里的引用 1. md5是不可逆的,不能解密2. 所有语言生成的md5串都是一样的 3. 不 ...

  2. mysql 文件操作 表

    一 :  访问库  use db1 查询当前表所在文件夹 :  select database(); 增:   create table t1(id int, name chat(10)); 查询:  ...

  3. Django学习手册 - Form 插件

    """ 核心: from django import formsfrom django.forms import fieldsfrom django.forms impo ...

  4. Redis安装完后redis-cli无法使用(redis-cli: command not found)

    之前安装redis后客户端无法使用,即redis-cli执行后报找不到的错误.这主要是安装redis的时候没有把客户端装上,在StackOverFlow上找到了一种只安装redis cli的方法,这里 ...

  5. 极客时间|AI技术内参

    学习进度: 014 | 精读AlphaGo Zero论文

  6. 华为QUIDWAY系列交换机的console重置

    作者:邓聪聪 华为QUIDWAY系列交换机的console重置 这里以华为QUIDWAY S3700密码清除为例: 各位看官请自行注意,这是两个不同版本设备的重置方法. 一:方法1 首先在电脑上新建一 ...

  7. 理解OAuth 2.0(转)

      OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版. 本文对OAuth 2.0的设计思路和运行流程,做一个简明通俗的解释,主要参考材料 ...

  8. windows下django1.7 +python3.4.2搭建记录1

    python+django在linux下搭建比较简单,windows下搭建比较复杂,所以列在下方一.下载安装下载django的包,到刚解压后的Django-1.7目录下执行命令 python setu ...

  9. python中常用模块

    OS模块 python编程时,经常和文件.目录打交道,这是就离不了os模块.os模块包含普遍的操作系统功能,与具体的平台无关os.name()——判断现在正在实用的平台,Windows 返回 ‘nt' ...

  10. RT-thread嵌入式操作系统相关的问题

    面试中问到 RT-thread嵌入式操作系统相关的问题 RT-thread操作系统调度器的实现细节 RT-Thread中提供的线程调度器是基于优先级的全抢占式调度: 在系统中除了中断处理函数.调度器上 ...